《Programming Abstractions in C》学习第 75 天,p306-p307 总结,总计 2 页。
一、技术总结
1.Quicksort algorithm(疾速排序)
由法国计算机科学家 C.A.R(Charles Antony Richard) Hoare(东尼. 霍尔)在 1959 年开发 (develop), 1961 年发表 (publish)。
这里吐槽下维基百科的中文介绍:” 在均匀情况下,排序 n 个我的项目要 O(nlogn)(大 O 符号) 次比拟。在最坏状况下则须要 O(n^2) 次比拟,但这种状况并不常见。”——这句话初看显得莫名其妙,这里的“排序”到底用的是什么排序算法?毫无上下文,难以了解。而英文介绍则好了解得多——“Mathematical analysis of quicksort show that, on average, the algorithm takes O(nlogn) comparisons to sort n items. In the worst case, it makes O(n^2) comparison”,英文显著的指出应用的是疾速排序。不晓得为什么很多中文介绍常常是省略了很多内容。
二、英语总结
1.substantial 是什么意思?
答:adj. large in size(sizeable)。p305, Even though the selection sort example makes it cleaar that quadratic algorithms have substantial performance problems (重大的性能问题)for large values of N,algorithms whose complexity is O(2^N) are considerably worse。
2.tractable 是什么意思?
答:tractare(“to handle, manage”, treat),adj. easily controlled。p305, As a general rule of thumb(依据教训),computer scientists classify problem that can be solved susing algorithms that run in polynomial time as tractable, in the sense that they are amenable to implementation on a computer。
3.demonstrate 是什么意思?
答: de-(entirely) + monstrare(point out, show)。vt. If you could choose the optimal boundary between the small and large elements on each cycle, this algorithm would divide the array in half each time and end up demonstrating(体现出) the same qualitative characteristics. 这里的 end up 前面跟 Ving 模式,常翻译成 finally(最终)。
4.demarcation 是什么意思?
答:
(1)demarcate: de-(from) + marcar(to mark the boundaries of), vt. to show the limit of sth。
(2)demarcation: a board or a rule that show the limit of sth。
p307, For example, a common approach is to pick the first element, which was 56 in the original array, and use it as the demarcation point between small and large element。
四、参考资料
1. 编程
(1)Eric S.Roberts,《Programming Abstractions in C》:https://book.douban.com/subject/2003414
2. 英语
(1)Etymology Dictionary:https://www.etymonline.com
(2) Cambridage Dictionary:https://dictionary.cambridge.org
欢送搜寻及关注:编程人 (a_codists)