地铁线路规划

需求分析

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.若用户输入的站点不存在,或是站点之间不存在通路,或是参数错误,输出反馈

02-12 22:18