一、任务:

实现一个帮助进行地铁出行路线规划的命令行程序,能处理正确输入的命令行的计算地铁线路最短路径。

二、设计:

输入格式:选择json格式来输入,便于阅读。

需求1:显示地铁线路信息

将地铁线路信息等用一个文本文件以 subway.txt的形式保存起来,应保存的信息应包括地铁线路名称、各个地铁站点的名称以及车站换乘信息,使得应用程序可以通过读取这个文件,就能掌握关于北京地铁线路的所有信息。

java subway -map subway.txt  

需求2:查询指定路线经过的站点

查询指定地铁线经过的站点,程序就需要能够从线路的起始站点开始,依次输出该地铁线经过的所有站点,直到终点站。

java subway -a 1号线 -map subway.txt -o station.txt  

需求3:找出两个地铁站间最短路径以及相应的换乘信息

计算从出发到目的站点之间的最短(经过的站点数最少)路线,并输出经过的站点的个数和路径(包括出发与目的站点),需要换乘则在换乘站的下一行输出换乘的线路。

subway.exe -b 洪湖里 复兴路 -map subway.txt -o routine.txt

三、思路:

        语言选择较为熟悉的java,采用Dijkstra算法,遍历所有节点找到未访问过的节点中累积权值,最小的设为a,遍历该节点所有可达边(连通到目标节点B),如果节点A累积权值加可达边权值小于目标节点B自身的累积权值,则对目标节点B进行更新,将节点A设定为已访问,重复直到所有节点均访问完毕。

四、测试计算:

1.对比估计开发时间与实际时间

2.模块接口的设计与实现过程

3.模块部分单元测试展示

4.模块部分异常处理说明   

5.自我测试,修改代码,提交修改,事后总结。

01-22 08:42