预培训-个人项目(地铁出行规划)
时间:2019-09-19 20:42:05
收藏:0
阅读:100
预培训-个人项目(地铁出行线路规划)
项目原址: https://edu.cnblogs.com/campus/buaa/2019BUAASummerSETraining/homework/3407
仓库地址
项目概述
实现一个帮助进行地铁出行路线规划的命令行程序。
地铁线路情况如下图所示:
项目需求
- 实现一个能处理正确输入的命令行的计算地铁线路最短路径的程序
- 设计地铁文件用于存储地铁信息
- 实现程序与地铁信息的解耦
命令要求:subway.exe -map subway.txt
或 java:java subway -map subway.txt - 提供线路信息查询
命令要求:subway.exe -a 1号线 -map subway.txt -o station.txt
或 java:java subway -a 1号线 -map subway.txt -o station.txt - 提供站点间最短路线查询
命令要求:subway.exe -b 洪湖里 复兴路 -map subway.txt -o routine.txt
设计思路
文件格式
{
Line: 一号线,
Station: 刘园 洪湖里 ..... 李楼;
Line: 二号线,
Station: 曹庄 咸阳路 ..... 机场;
}
算法
可以把地铁规划问题对应为无向图,其中各站点为无向图中的点(vertex)。采用广度优先寻找起点站到终点站的最短路径,输出时每次判断下一站是否需要换乘。
异常情况
- 文件解析异常
- 站点(Station)不存在
- 线路(Line)不存在
- 没必要的换乘
语言
Java
原文:https://www.cnblogs.com/vium520/p/11552127.html
评论(0)