码迷,mamicode.com
首页 > 其他好文 > 详细

地铁出行线路规划

时间:2019-09-20 23:13:54      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:算法实现   顺序   站点   项目   mic   alt   输出   获取   pre   

概述

技术图片
实现一个帮助进行地铁出行路线规划的程序,能够计算地铁线路最短路径。

项目需求

* 合理的地铁信息存储格式。简洁易懂的同时可以灵活拓展,也要方便程序读取。

  • 地铁线路信息的获取
  • 查询指定地铁线上的所有站点
  • 查询出发站与目的站之间的最短路径

设计思路

存储结构

subway.txt 可由以下方式存储地铁站点信息

站点1 线路号1
站点2 线路号2
...
站点3 线路号3

例如:

刘园 1
西横堤 1
...
东海路 9

具体实现时无需对中转站进行额外的存储,只需判断同一站点是否在不同线路中出现即可。

缺陷:存储地铁信息时对于同一线路上的站点必须按出发站→目的站的顺序进行存储。

算法实现

* 将站点信息存储为无向图

  • 相邻站点间的距离可置为1
  • Dijkstra算法求解
  • 处理异常情况,保证程序健壮性

计算完毕后保存计算结果,查询时直接调用即可,同时将结果输出至routine.txt中,格式如下:

3
洪湖里
西站
6号线
复兴路

测试样例

以下给出若干简单的测试样例以便测试

样例1

输入

西北角
二纬路

输出

3
西北角
西南角
二纬路

样例2

输入

南楼
西南楼

输出

3
南楼
下瓦房
5号线
西南楼

样例3

输入

金狮桥
成林道

输出

6
金狮桥
天津站
2号线
远洋国际中心
顺驰桥
靖江路
5号线
成林道

地铁出行线路规划

标签:算法实现   顺序   站点   项目   mic   alt   输出   获取   pre   

原文地址:https://www.cnblogs.com/BackPropagationXCX/p/11560019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!