个人项目-地铁出行路线规划程序

1)在开始实现程序之前,使用下述PSP表格记录下你估计将在程序的各个模块的开发上耗费的时间。

  • 输出某线路的所有站点:20min
  • 找两个站点间经过站点数最少的线路:60min
  • 找两个站点间换乘最少的线路中经过站点最少的线路:100min

2)在你实现完程序之后,使用下述PSP表格记录下你在程序的各个模块上实际花费的时间。

  • 需求分析 (包括学习新技术):1min
  • 生成设计文档:10min
  • 设计复审 (和同事审核设计文档):10min
  • 代码规范 (为目前的开发制定合适的规范):1min
  • 具体设计:20min
  • 具体编码:240min
  • 代码复审:20min
  • 测试(自我测试,修改代码,提交修改):20min

3)记录你在改进程序性能上花费了多少时间,描述你改进的思路,并展示一张性能分析的图(由VS 2015的性能分析工具自动生成),并展示你程序中消耗最大的函数。

花了60min,虽然经过了仔细的思考,但是没有想出改进的思路。

4)共享你对程序进行测试的至少10个测试用例,以及说明为什么你能确定你的程序是正确的。

bj_subway -b 苹果园 惠新西街南口
bj_subway -b 天坛东门 小红门
bj_subway -b 石门 旧宫
bj_subway -b 苏州街 车道沟
bj_subway -b 巩华城 九龙山
bj_subway -c 苹果园 惠新西街南口
bj_subway -c 天坛东门 小红门
bj_subway -c 石门 旧宫
bj_subway -c 苏州街 车道沟
bj_subway -c 巩华城 九龙山

算法中采用了一个队列,用来存放待优化的点,算法中每一步都是从该队列中却出头来优化其他各点。假设算法结束时计算的结果不是最短路径,即存在其他更短的路径,然而算法规定,只要存在比当前路径更短的路径,该点就要被优化后入队,算法不会结束,因此找到最短路径后算法才能结束。

5)说明你在个人项目中学到了什么。

学会了最短路的算法。
我知道了某些地图软件推荐地铁线路的大体原则。

原文地址:https://www.cnblogs.com/dreamingsheep/p/5869368.html