地铁线路规划
地铁线路规划
需求分析
1.确定地铁线路及站点的储存格式
2.设计程序能够完成IO任务
3.设计算法计算两个站点之间的具体路径
4.通过code analysis
5.性能检测
6.完成单元测试
实现思路
文件存储
线路存储
考虑到维护成本、可读性和拓展性,使用xml文件存储地铁线路
<root>
<Line id="线路1">
<Station>刘园</Station>
<Station>西横堤</Station>
</Line>
</root>
路径存储
由算法得到的路径存储在txt文件中,包括路径长度,线路和站点
3
洪湖里
西站
6号线
复兴路
编程语言
编程语言使用java
算法设计
1.将地铁线路转化为无向图,将线路问题转化为求最短路径问题,站点为结点,相邻两站之间的线路为边。
2.地铁任意两站之间的距离差距不大,且较短,因此将所有的边的权值设为1。
3.根据地铁线路的性质,判断生成的图为稀疏图,决定使用Dijstra算法,时间复杂度为O(VlogV),空间复杂度为O(M+V)
4.由于存在部分线路出现重合,以及考虑到换乘的时间成本,最终输出的线路为换乘次数最少的线路。
5.若用户输入的站点不存在,或是站点之间不存在通路,或是参数错误,输出反馈
posted on 2019-09-19 11:00 31701049王逸康 阅读(203) 评论(0) 编辑 收藏 举报