一、项目理解
1.设计需求:地铁出行下路规划的命令行程序(最短路径)
2.设计工具:JAVA Eclipse编译器
3.数据处理:数据写入文本导入程序,将陷入储存于不同文本文件
4.程序测试:足够的测试样例(10条)来保证程序的正确运行
5.程序输入:需要输入1.进站 2.出站
6:设计语言:java
二、文本格式设计
1.文本的输入将采用json格式
1 { 2 "line1": [ 3 { 4 "station1": "苹果园站", 5 "status": "enable" 6 “transfer”: "station2" 7 }, 8 { 9 "station2": "古城站", 10 "status": "enable" 11 “transfer”: "null" 12 { 13 "station3": "八角游乐园站", 14 "status": "enable" 15 “transfer”: "null" 16 } 17 ] 18 }
2.输入设计
起始站点:xxx
目标站点:xxx
3.输出设计:
1号线
站点x
站点y
站点z
……
站点h(站内换乘x号线)
2号线(换乘)
站点a
站点b
站点c
……
二、算法思路
这个地铁行程规划项目可以将地铁线路图看成是图里面的节点和距离。所以我将会把每个节点之间的距离设定成1,那么问题就会转变成一个高级数据结构中的最小路径算法
通常最小路径算法会有Dijkstra算法与Floyd算法两种,因为本人较为熟悉Dijkstra算法,所以本项目中我们将会采用Dijkstra算法所以集体如下
1.Dijkstra算法实现
2.实现错误提示
3.根据地铁线输出站名
4.换乘情况下的最短路径与非换乘情况显得最短路径
5.使用java类进行封装,使用邻接表进行站点的存储