ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

算法导论(第三版)第一章习题答案

2021-06-03 11:00:11  阅读:262  来源: 互联网

标签:第三版 导论 3.6 算法 propto 3.1104 习题 排序 times10


算法导论(第三版)第一章习题答案

这个专栏主要是将算法学习过程中使用的《算法导论》一书的练习题的答案进行汇总,有一部分习题答案可能是我自己做的或者是从网上搜集的,难免会存在错误的地方,希望能得到大家的指正。因为这是初次接触算法,所以后续的章节更新会比较慢,并且可能会出现很多我做不出来的题目,但是会我尽量坚持下去,每天看两页书。码字不易,如果对你有用希望能点个赞,如果有问题欢迎在评论区讨论。

1.1 算法

1-1

生活中需要排序的例子有很多,比如名次,成绩,身高统计等等。

凸壳问题:

令S为平面上的一个点集,封闭S中的所有顶点的最小凸多边形也成为S的凸壳。

在地上放置一些不可移动的木桩,用一根绳子把他们全部围起来,并且绳子的轮廓为凸边形。

1-2

存储空间占用情况,答案精确度等。

如果单指效率还有功率,转化率等等度量单位。

1-3

链表:优势在于可以较快的实现结点的插入删除等操作,但是在链表的尾部插入,或者随机读取链表中的元素时会比较麻烦。

1-4

相似之处:都需要寻找到一个最短路线

不同之处:最短路径(交通)问题需要找的时两个点之间的最短距离,并不要求经过其他点。旅行商问题要求在经过所有点的同时,走最短路径。

1-5

暂时想不到有什么好的例子。以后做题如果发现了如果还记得会回来补充。其实问题1-4在一定程度上可以作为本题的答案,比如旅行商问题我们往往得出近似的最优解即可。

1.2 作为一种技术的算法

2-1

一个播放器想在接下来像按照顺序给使用者依次播放他喜欢的音乐。

利用排序算法对使用者的听歌次序进行排序,并且得到排序后的序列并依次播放这些音乐。

2-2

要求插入排序优于归并排序,相当于要求: 8 n 2 < 64 n l o g 2 n 8n^2<64nlog_2n 8n2<64nlog2​n

整理有 n < 8 l o g 2 n n<8log_2n n<8log2​n

因此只要满足上述公式的n的数字,都时插入排序优于归并排序的解,其中 n < 43 n<43 n<43

2-3

根据题目要求,我们可以得到如下公式: 100 n 2 < 2 n 100n^2<2^n 100n2<2n

因为上述题目需要的时最小解,通过枚举我们可以得出 n = 15 n=15 n=15。

思考题

1秒钟1分钟1小时1天1月1年1世纪
2 1000 2^{1000} 21000 2 6 × 1 0 4 2^{6\times10^4} 26×104 ∝ \propto ∝ ∝ \propto ∝ ∝ \propto ∝ ∝ \propto ∝ ∝ \propto ∝
1 0 6 10^6 106 3.6 × 1 0 9 3.6\times10^9 3.6×109 1.296 × 1 0 13 1.296\times10^{13} 1.296×1013 ∝ \propto ∝ ∝ \propto ∝ ∝ \propto ∝ ∝ \propto ∝
100060000 3.6 × 1 0 5 3.6\times10^5 3.6×105 8.64 × 1 0 6 8.64\times10^6 8.64×106 2.592 × 1 0 7 2.592\times10^7 2.592×107 3.1104 × 1 0 8 3.1104\times10^8 3.1104×108 3.1104 × 1 0 10 3.1104\times10^{10} 3.1104×1010
1414896-----
3124418979295509111763631763632
10391534421373314414597
10162227323542
78911121315

上述中由于对数不太好算,故改行基本胜率,这里只需要了解不同的时间复杂度在处理效率随时间的变化情况,同时月份是按照30天来进行计算。

接下来以其中一个为例:

1秒钟为1000 ms,如果想要计算一分钟的能处理的问题的规模,那么有

n ! < 1000 n!<1000 n!<1000,可以得出 n < 8 n<8 n<8,因此最大能够处理的规模为7。其他的计算规模依次类推,可以在网上找阶乘计算器或者对数计算器,方便得出结果。

标签:第三版,导论,3.6,算法,propto,3.1104,习题,排序,times10
来源: https://blog.csdn.net/qq_43191451/article/details/117513649

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有