您的位置:首页 > 其它

算法导论习题

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时,插入排序优于归并。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: