《算法导论》[第1章] 算法在计算中的作用-[1.2] 作为一种技术的算法

|概念回顾|

计算机可以做的很快,但还不能是无限快。存储器可以做到很便宜,但不会是免费的。因此,计算时间是一种有限的资源,存储空间也是一种有限的资源。这些有限的资源必须被有效地使用,那些时间和空间上有效的算法就有助于做到这一点。

|习题解答|

1.2-1 给出一个实际的应用例子,它在应用这一层次上要求有算法性的内容。讨论其中所涉及算法的功能。

数字证书:涉及RSA等公开密钥加密算法。算法功能:加密、解密或身份认证等。

 

1.2-2 假设我们要比较在同一台计算机上插入排序和合并排序的实现。对于规模为n的输入,插入排序要运行8n^2步,而合并排序要运行64nlgn步。当n取怎样的值时,插入排序的性能要优于合并排序?

答案:2<=n<=43

计算公式:8lg(n)>n (此处lg的底数为2)  当n=43时,8lg(43)约为43.410118..

 

1.2-3 对于一个运行时间为100n^2的算法,要使其在同一台机器上,比一个运行时间为2^n的算法运行得更快,n的最小取值是多少?

答案:n的最小取值是15.

计算公式:100 n^2>2^n  当n=15时,左边=22500,右边=32768,即此时开始左边值小于右边。

posted @ 2010-03-02 10:23  timebug  Views(654)  Comments(0Edit  收藏  举报