练习:
1.1-1 给出现实生活中需要排序的一个例子或者现实生活中需要计算凸壳的一个例子
排序:淘宝销量排序,凸壳:淘宝综合排序
注:凸壳是一个点集中最小点集,就像一碗盛着饭的碗,凸壳就是那个碗1.1-2 除速度外,在真实环境中还可能使用哪些其他有关效率的量度?
店铺转化量1.1-3 选择一种你以前已知的数据结构,并讨论其优势和局限
树形结构,优势:条例比较清晰,一级一级嵌套下去,有层次(可以参考思维导图);局限:如果结点很多的话,会浪费大量资源,例如看淘宝转链接时,流量会浪费很多
注:数据结构分逻辑结构(集合、线性结构、树形结构、图形结构)和物理结构(顺序、链接、索引、散列)1.1-4 前面给出的最短路径与旅行商问题有哪些相似之处?又有哪些不同?
相似之处:所求的都是最短路径
不同之处:最短路径只是一辆车的问题,而旅行商是一家公司多辆车的问题;最短路径是一个点到另一个点的问题,旅行商是从一个点出发,经过了多个点最后返回到原点处。
注:最短路径是指一辆快递车从A点到B点的最短路径;旅行商问题是指快递车从出发快递公司算出每辆快递车行驶的最短总距离。1.1-5 提供一个现实生活的问题,其中只有最佳解才行。然后提供一个问题,其中近似最佳的一个解也足够好。
从A乘地铁到B最短时间,地下交通一般站与站之间比较远,所以只有一条路线可以走
从A乘公交车到B最短时间,考虑到地面交通的发达,可以选择一部车到底,然后多走路到B,也可以选择中途转车直接到B1.2-1 给出在应用层需要算法内容的应用的一个例子,并讨论涉及的算法的功能
游戏中的自动导航功能,涉及到了最短路线的算法1.2-2 假设我们正比较插入排序与归并排序在相同机器上的实现。对规模为n的输入,插入排序运行 8n2