个人项目-地铁路线规划简要分析

个人博客

github项目链接

9月22日更新

需求分析

  1. 确定读取地铁路线数据时的数据形式
  2. 能查找一整条线路的所有站点
  3. 能规划出一条站点最少的乘车路线并输出详细数据

设计思路

本题目主要涉及的是如何将所有地铁路线及站点存储,输出一条线路的所有站点和规划出两点之间的最短乘坐路线。

由于北京地铁线路过多,不能使用简单的线号对地铁命名,经过充分考虑之后,决定选用Json格式对数据进行存储,lines为总标题包含了所有线路,每一条线路下有 lineNolineNamestations组成,具体实现如下:

{
    "lines": [
    { "lineNo":1,"lineName":"1号线" , "stations":[
        {"stationName":"苹果园"},
        {"stationName":"古城"},
        {"stationName":"八角游乐园"},
       ....
    ] },
    { "lineNo":2,"lineName":"2号线" , "stations":[
        {"stationName":"积水潭"},
        {"stationName":"鼓楼大街"},
    ...
        {"stationName":"西直门"},
        {"stationName":"积水潭"}
    ] },
 .....
    ]
}
由于有些线路是环状的,所以开头和结尾都是同一个站点名

对于输出一条线路上的所有站点,可以使用一个简单的遍历算法输出,而对于两站点之间的路线查找可以用简单的图最短路径搜索算法进行解决,在语言的选择上我选择了java,主要是因为对于java框架了解的较多,还有就是考虑到未来多人合作项目会使用java。

总结

由于这个题目比较简单,需要考虑的点并不是很多,但是如果要将本题延伸,难度就会迅速增加。以上就是对本题的简要分析,如果在过程中出现问题,再修正。