天津地铁规划

天津地铁线路规划

这一生的挚爱 提交于 2019-11-30 04:19:07
地铁线路规划 项目需求 1.思考并设计一种文件格式用于存储地铁信息(线路名称,站点名称,车站换乘信息) 2.实现一个支持显示地铁线路与计算换乘的程序 3.支持用户进行线路查询操作 4.提供用户从出发点到目的地的最短路径 实现思路 选择用简单的“站点+线路”来进行数据存取 { 刘园 1 西横堤 1 果酒厂 1 本溪路 1 勤检道 1 .... 李楼 1 曹庄 2 ..... } 可采用遍历算法对一条线路的站点进行遍历,把地铁线路转换成无向图,当相邻两个站点的距离为1进行计算,可用Dijstra算法来解决最短路径问题。 语言上选择最近常用的java 来源: https://www.cnblogs.com/chenjiji/p/11558885.html

天津地铁出行线路规划项目需求分析与设计思路分析

ε祈祈猫儿з 提交于 2019-11-30 02:18:29
天津地铁出行线路规划项目需求分析与设计思路分析 项目概要 以下是天津地铁线路总图,本项目的受众可以通过本软件,获得天津市地铁出行最便捷,最快速的线路推荐。 需求分析 实现一个帮助进行地铁出行路线规划的命令行程序。 支持地铁线路的更改,站点更改、取消与添加,以及线路的局部封闭。 支持查询线路的所有站点。 支持查询到某终止站点的途径最少站点的路线。 数据存储结构分析 由于单一的 线路表 与 站点表 是无法表示如此复杂的地铁线路情况的。 有多个前驱的站点如: ,以及有多个后继的站点如: ,这种情况无法只通过这两个表处理,所以引入第三张 边表 线路表 与 站点表 是 一对多 的关系 线路表 与 边表 是一对多的关系 边表 与 站点表 是多对多的关系 主算法分析 因为是要查询途径站点最少的线路,所以站与站之间的距离可以都看成是1,那么这样一来就可以忽略站与站之间的物理距离,仅以这处理完的逻辑距离来处理整个地铁线路,那么要求途径站点最少就变成了寻找两个站点之间的最短路了。 又因为天津地铁线路总点数不多,是稀疏图,所以使用在稀疏图上表现优秀的spfa算法。 关于建图,因为有边表的存在,所以只需要对边表进行建图即可,而且不会导致信息的丢失,且不会存在冗余信息。(同一条边只会出现一次) 且由于边表,使更改线路变得十分方便,只要先更改站点表,再修改边表即可。 原始数据输入格式