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

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

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

仓库地址

https://github.com/MrJVium/SE

项目概述

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

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

500

项目需求

  • 实现一个能处理正确输入的命令行的计算地铁线路最短路径的程序
  • 设计地铁文件用于存储地铁信息
  • 实现程序与地铁信息的解耦
    命令要求: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
    或 java: java subway -b 洪湖里 复兴路 -map subway.txt -o routine.txt

设计思路

文件格式

[
  {
    'Line' : '一号线',
    'Station' : ['刘园', '洪湖里', ....., '李楼']
  },
  {
    'Line' : '二号线',
    'Station' : ['曹庄', '咸阳路', ....., '机场']
  }
]

算法

可以把地铁规划问题对应为无向图,其中各站点为无向图中的点(vertex)。由需求条件知边权为1,则采用广度优先寻找起点站到终点站的最短路径,输出时每次判断下一站是否需要换乘。

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

Java

更新

时间记录

熟悉爬虫抓取北京地铁信息,并转为json格式文本 1h

ver1.0 subway代码 3h

检查 10min

转载于:https://www.cnblogs.com/vium520/p/11552127.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值