《算法导论(第4版)》学习第 12 天,p32-p38 总结,总计 7 页。
一、技术总结
1.analyzing algorithms
(1)running time(运行时间)
worst-case running time, average-case running time,best-case running-time。
2.order of growth/rate of growth
刚开始看到 order 的时候感觉很别扭,因为平时遇到的 order 的意思大多是:1.“顺序(the arrangement of things according to a particular pattern)”; 2. "命令(command)"。
在 “order of growth”中, order 的意思是“层级,阶级,等级,量级(rank, level, category, class)” ,理解了这个意思之后,反而觉得 order of growth(增长量级)更准确一些——“算法运行时间在哪个量级,有一种分类的思想在里面”,而 rate of growth(增长率)更通俗易懂一些——“仅仅体现了算法运行时间变化的快慢”。
f(n) = 4n2 , g(n) = 2n + 2000
上面的 f(n) 和 g(n) 分别表示两个算法的最差运行时间(worst-case running time),因为随着输入 n 的变大,f(n) 变化更快,需要的时间更多,则可以说: f(n) has higher order of growth as it grows quadratically in terms of input size。
3.devide-and-conquer(分而治之)
4.merge sort(归并排序)
原理就不赘述了。说一下自己的感受:以前自己总是看不懂,现在算是看懂了,包含两个步骤——divide & merge。于自己而言,难点还是在于对递归的理解和运用。跳出递归函数、递归函数调用这两各操作自己理解,但是除了这个两个操作,递归函数里面该做什么,自己总是把握不好,很容易忘记。
二、英语总结(生词:0)
无。
关于英语的注解同步更新汇总到 https://github.com/codists/English-In-CS-Books 仓库。
三、其它
今天没有什么想说的。
四、参考资料
1. 编程
(1) Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest,Clifford Stein,https://book.douban.com/subject/35591269/
2. 英语
(1) Etymology Dictionary:https://www.etymonline.com
(2) Cambridge Dictionary:https://dictionary.cambridge.org
欢迎搜索及关注:编程人(a_codists)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。