算法导论习题
2015-04-18 00:49
162 查看
1.1-1给出现实生活中需要排序的一个例子和计算凸壳的例子。
答:排序就有很多了,比如全校学生的成绩登录系统需要排序算法了。
凸壳则比较复杂了,比如在大海中打捞飞机的话需要根据一些重要的点计算搜 寻范围,需要确定最小搜索面积的话,需要求出凸壳的顶点集然后才能求出面积。
1.1-2除速度外,在真实环境中还可能使用哪些其他有关效率的量度。
答:比如功率之类的物理变量。
1.1-3选择一种你以前已知的数据结构,并讨论其优势和局限。
答:链表,优势在于它是比较底层的数据结构,可以比较方便的实现比较高级的数据结构。局限在于效率比较低,而且空间占用普通。
1.1-4前面给出的最短路径与旅行商问题有哪些相似之处?有哪些不同?
答:相似之处都是要求出一个最短路径,但最短路径是定点求路线,而旅行商是点和路线一起求,在复杂度上比最短路径要高。
1.1-5提供一个现实生活的问题,其中只有最佳解才行。
答:我在这提出一个我没有解决的问题,是携程上比赛的一个题目,希望有大神能指导下怎么做。题目大意是这样的:给出N个点,这N个点不能全部在一条直线上,确定一个周长最小的矩形将这N个点全部包括进去。
1.2-1给出在应用层需要算法内容的应用的一个例子,并讨论涉及算法的功能。
答:比如大家比较喜欢LOL的人物移动的时候是怎么走的?是不是按最短的曲线走的?这时就需要算法里的最短路径算法了对吧,否则点一个地点,等人走到那的时候可能已经大半个世纪过去了。最短路径实现的就是确定按照人的直接意愿引导英雄走向目标地点的最短路径。
1.2-2假设我们正比较插入与归并排序在相同机器上的实现。对规模为n的输入,插入排序运行8n^2步,而归并排序运行64nlgn步。问对哪些n值,插入排序优于归并?
答: 令 8n^2< 64nlgn =>
化简得n< 8lgn =>
2^(n/8)< 2^(lgn) =>
2^(n/8)< n =>
令t=n/8, n=8t =>
2^t< 8t =>
制表:
123456
8t81624324048
2^t248163264
当t=0 8t=02^t=1
当t=0.2, 8t=1.62^t=1.15
当t=5.1, 8t=40.82^t=34.3
当t=5.4, 8t=43.2 2^t=42.2
当t=5.5, 8t=442^t=45.25
所以,当0.2< t < 5.5时,即1< n < 44时,插入排序优于归并。
1.1-1给出现实生活中需要排序的一个例子和计算凸壳的例子。
答:排序就有很多了,比如全校学生的成绩登录系统需要排序算法了。
凸壳则比较复杂了,比如在大海中打捞飞机的话需要根据一些重要的点计算搜 寻范围,需要确定最小搜索面积的话,需要求出凸壳的顶点集然后才能求出面积。
1.1-2除速度外,在真实环境中还可能使用哪些其他有关效率的量度。
答:比如功率之类的物理变量。
1.1-3选择一种你以前已知的数据结构,并讨论其优势和局限。
答:链表,优势在于它是比较底层的数据结构,可以比较方便的实现比较高级的数据结构。局限在于效率比较低,而且空间占用普通。
1.1-4前面给出的最短路径与旅行商问题有哪些相似之处?有哪些不同?
答:相似之处都是要求出一个最短路径,但最短路径是定点求路线,而旅行商是点和路线一起求,在复杂度上比最短路径要高。
1.1-5提供一个现实生活的问题,其中只有最佳解才行。
答:我在这提出一个我没有解决的问题,是携程上比赛的一个题目,希望有大神能指导下怎么做。题目大意是这样的:给出N个点,这N个点不能全部在一条直线上,确定一个周长最小的矩形将这N个点全部包括进去。
1.2-1给出在应用层需要算法内容的应用的一个例子,并讨论涉及算法的功能。
答:比如大家比较喜欢LOL的人物移动的时候是怎么走的?是不是按最短的曲线走的?这时就需要算法里的最短路径算法了对吧,否则点一个地点,等人走到那的时候可能已经大半个世纪过去了。最短路径实现的就是确定按照人的直接意愿引导英雄走向目标地点的最短路径。
1.2-2假设我们正比较插入与归并排序在相同机器上的实现。对规模为n的输入,插入排序运行8n^2步,而归并排序运行64nlgn步。问对哪些n值,插入排序优于归并?
答: 令 8n^2< 64nlgn =>
化简得n< 8lgn =>
2^(n/8)< 2^(lgn) =>
2^(n/8)< n =>
令t=n/8, n=8t =>
2^t< 8t =>
制表:
123456
8t81624324048
2^t248163264
当t=0 8t=02^t=1
当t=0.2, 8t=1.62^t=1.15
当t=5.1, 8t=40.82^t=34.3
当t=5.4, 8t=43.2 2^t=42.2
当t=5.5, 8t=442^t=45.25
所以,当0.2< t < 5.5时,即1< n < 44时,插入排序优于归并。
相关文章推荐
- 双向链表的单指针实现(算法导论习题)
- 从头看算法导论 习题2.3-7 深入分析
- 算法导论 习题6.2-5 用迭代法实现堆排序
- 算法导论 习题22.3-12 判断图是否是单连通的
- 算法导论习题(10)
- <算法导论习题>2.2-2
- 算法导论2:几个习题 2016.1.2
- 快速排序的C#实现以及,算法导论上之后一个习题的思考
- 算法导论2-4习题解答(合并排序算法)
- 算法导论8.2-4习题解答(计数排序)
- Introduction to Algorithms 算法导论 第3章 函数的增长 学习笔记及习题解答
- 算法导论10.1-6习题解答(用两个栈实现一个队列)
- 算法导论第三版习题8.4
- 算法导论10.4有根树的表示习题
- 算法导论第十四章习题14.1-4递归方式统计元素的秩
- 算法导论第六章习题答案(第三版) Introduction to Algorithm
- 算法导论6.1-2习题解答
- Introduction to Algorithms 算法导论 第2章 算法入门 学习笔记及习题解答
- 算法导论第三版习题5.2
- 算法导论8.3-4习题解答(基数排序)