第一章 绪论
内容概要:
图灵机及RAM模型;算法复杂度评估 (不是时间,而是计算操作的次数)。
渐进分析:大O (最坏),大Θ;算法分析。
封底估算及实例 (计算大概量级)
- 1 day =10^5 s; 300 year = 10^10 s.
两种算法:迭代,递归算法
两种策略:减而治之,分而治之;结合实例,两种典型的分析的方法:递归跟踪和递推式。
动态规划:
fibonacci example, two implementation:recursive (O(2^n)) and iteration (O(n)).
LCS:待理解。
第二章 向量
向量即Vector, 与List一起,构成了最基础的顺序数据结构。
ADT v.s. Data structure, Difference?
从数组到向量
向量ADT接口
起泡排序算法的两种版本:
- 算法复杂度:最好为O(n), 最坏为O(n^2).
归并排序
- 分治策略的典型应用;先分,再Merge。O(nlog(n))复杂度。