《Programming Abstractions in C》学习第74天,p303-p305总结,总计3页。

一、技术总结

1.工夫复杂度分类(complexity classes)

ClassNotationExample
constantO(1)Returning the first element in an array
logarithmicO(logN)Binary search in a sorted array
linearO(N)Linear search in an array
NlogNO(NlogN)Merge sort
quadraticO(N^2)Selection sort
cubicO(^3)Conventional algorithms for matrix multiplication
exponentialO(2^N)Tower of Hanoi

当然,这个分类并不是相对的,只是常见的。

二、英语总结

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。

三、其它

通过7.4小结把握常见工夫复杂度的分类。内容不难理解,然而一些英语词汇的了解比拟难。例如:rule a thumb(依据教训), be amenable to等。

四、参考资料

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)