《算法导论(原书第2版)》读书笔记
2009-08-18 11:55
176 查看
随手记下,很随性的,不成系列。自己上大学时稀里糊涂的混过来的,根本没有数学的基础,如:概率统计,排列组合,线性代数,离散数学。所以学得非常痛苦和吃力,感觉枯燥难学。但为了自己的编程开发的理想,坚持!
第1章 The Role of Algorithms in Computing
“lg n 表示 log2 n” 在这里本人有个疑问:lg n应该是表示log10 n才对吧练习题1.2-2的图画:
在这,lg n 这个对数函数的底数按书上是为2。y轴表示有多少步。
第2章 Getting started
循环不变式(loop invariant)是由证明程序的算法是否正确而发展出来的。如果循环的初始化为真、循环下一次迭代的保持为真、循环结束为真,那么算法是正确的推理是成立的。插入排序算法的C#语言实现:
int[] A = new int[] { 5, 2, 4, 6, 1, 3 }; for (int j = 1; j < A.Length; j++) { int key = A[j]; int i = j - 1; while (i >= 0 && A[i] > key) { A[i + 1] = A[i]; i--; } A[i + 1] = key; } foreach (int k in A) { Console.WriteLine(k.ToString()); }
JavaScript语言实现:
var arr = [5, 2, 4, 6, 1, 3]; for(j=1;j<arr.length;j++) { key = arr[j]; i = j - 1; while(i>0 && arr[i] > key) { arr[i+1] = arr[i]; i=i-1; } arr[i+1] = key; } console.log(arr);
INSERTION-SORT(A)的第5行:times 的解释:∑上面是n下面是j=2右边是tj是表示t2+t3+…+tn-1+tn
相关文章推荐
- 《算法导论》读书笔记之第6章 优先级队列
- 《算法导论》读书笔记之第12章 二叉查找树
- 《算法导论》读书笔记之第15章 动态规划—最长公共子序列
- 《算法导论》读书笔记--快速排序
- 《算法导论》读书笔记--计数排序&基数排序
- 算法导论-第三部分-读书笔记
- 《算法导论》读书笔记之第6章 优先级队列
- 《算法导论》读书笔记之第11章 散列表
- 《算法导论》读书笔记之第13章 红黑树
- 《算法导论》读书笔记之第7章 快速排序
- 《算法导论》读书笔记之第6章 堆排序
- 《算法导论》读书笔记之第8章 线性时间排序
- 读书笔记 《算法导论》 Appendix
- 算法导论第二章_合并算法_读书笔记
- 《算法导论》读书笔记之第11章 散列表
- 《算法导论》读书笔记之第16章 0-1背包问题—动态规划求解
- 《算法导论》读书笔记之第13章 红黑树 (转自博客园)
- 算法导论-第二部分-读书笔记
- 《算法导论》读书笔记之第9章 中位数和顺序统计学
- 《算法导论》读书笔记之第2章 算法入门