知识点
-
为什么研究算法:计算时间是一种有限的资源,存储器的空间也是一种有限的资源。使用算法就是为了能最有效的利用这些资源
-
算法的效率为什么比硬件和软件的效率更重要:
计算机A 每秒执行效率为百亿级别的:10^10条指令/秒,算法执行效率为2n^2,当执行一千万的时候需要20000秒
计算机B 每秒执行效率为千万级别的:10^7条指令/秒,算法执行效率为50nlgn,当执行一千万的时候需要1163秒
从上面可以知道,就算一台计算机的执行效率为另一台机器的一千倍时候,但算法的效率有差距的时候,在执行运算次数很多的时候,两个之间的执行时间相差将很大。 -
算法在系统中的用处:我们应当像计算机硬件一样吧算法当成一种技术,整个系统的性能不但依赖于快速的硬件而且还依赖于选择有效的算法。当解决较大问题规模的时候,算法之间的差距会特别的明显。
重要的一句话
是否具有算法知识与技术的坚实基础是区分真正熟练的程序员和初学者的特征。
思考题
在思考题中,lgn = t ,算出来 n = 2^t 但是nlgn却怎么也计算不出来公式推导。这个题目放置等以后回来解