一、任务:
实现一个帮助进行地铁出行路线规划的命令行程序,能处理正确输入的命令行的计算地铁线路最短路径。
二、设计:
输入格式:选择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.自我测试,修改代码,提交修改,事后总结。
原文地址:https://www.cnblogs.com/31701070dzr/p/11559707.html
时间: 2024-10-29 22:13:00