首页 > 其他 > 详细

预培训-个人项目(地铁出行规划)

时间:2019-09-19 20:42:05      阅读:98      评论:0      收藏:0      [点我收藏+]

预培训-个人项目(地铁出行线路规划)

项目原址: https://edu.cnblogs.com/campus/buaa/2019BUAASummerSETraining/homework/3407

仓库地址

https://github.com/MrJVium/SE

项目概述

实现一个帮助进行地铁出行路线规划的命令行程序。

地铁线路情况如下图所示:

技术分享图片

项目需求

  • 实现一个能处理正确输入的命令行的计算地铁线路最短路径的程序
  • 设计地铁文件用于存储地铁信息
  • 实现程序与地铁信息的解耦
    命令要求: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)。采用广度优先寻找起点站到终点站的最短路径,输出时每次判断下一站是否需要换乘。

异常情况

  1. 文件解析异常
  2. 站点(Station)不存在
  3. 线路(Line)不存在
  4. 没必要的换乘

语言

Java

预培训-个人项目(地铁出行规划)

原文:https://www.cnblogs.com/vium520/p/11552127.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!