数据结构课程笔记

第一章 绪论(下)动态规划

DSA三步走
make it work;
make it right;(递归)(迭代乃人力,递归方神通)
make it fast.

斐波那契数列 的复杂度是 o ( f i b o n ( n + 1 ) ) ∼ o ( Φ n ) , Φ = 1.618 o(fibon(n+1))\sim o(\Phi^n),\quad \Phi= 1.618 o(fibon(n+1))o(Φn),Φ=1.618
估算近似式: Φ 36 = 2 25 \Phi^{36} = 2^{25} Φ36=225 2 10 = 1 0 3 2^{10}=10^3 210=103
Φ 5 = 10 \Phi^{5} = 10 Φ5=10
数据结构课程笔记_第1张图片
这个算法不好。。。
课程代码:
数据结构课程笔记_第2张图片

第一章 绪论(下)

data structure & alogrithm
理想平台 RAM
复杂度分析:迭代(级数求和)+递归(递归跟踪、递归方程)
1. 探寻级数与大o记号的规律
数据结构课程笔记_第3张图片
数据结构课程笔记_第4张图片
推荐书,Concrete Mathematics
1.1循环转化为级数
典型:双重循环==>矩形的面积
数据结构课程笔记_第5张图片
数据结构课程笔记_第6张图片
例子–排序
【注意】:这里有一点点 略微的优化。虽然不足以 降低复杂度的等级,但是有意义。
数据结构课程笔记_第7张图片


算法的正确性
数据结构课程笔记_第8张图片
挖掘 不变性、单调性 推导正确性


准确定量估算
封底估算(Back-of-The-Envelope Caculation)
基本直觉:
三生三世中的一天,约为 一天中的一秒;
在宇宙至今的 三生三世,约为 三生三世中的0.1秒;
数据结构课程笔记_第9张图片
硬件的改进可以将,三十年缩短为二十分钟;
通过算法的改进,可以将三十年缩短为半分钟。
数据结构课程笔记_第10张图片

封底计算,英文为 back-of-the-envelope calculations (BotEC),这个术语由物理学家恩里科 ·费米创造,指用简单到 可以在手边随便的什么小纸片——比如信封的背面上——进行的计算,对复杂的方程作同一数量级内的近似求解。
指,抓住本质。


内容出自 清华大学-邓俊辉-数据结构

你可能感兴趣的:(#,----------数据结构)