天津地铁项目的理解与思路
天津地铁项目的理解与思路
一 项目概述
地铁作为一种公共交通工具,可以极大得方便人们出行,同时在一定程度上缓解道路交通压力。
天津地铁的线路如下图所示。项目要求设计一个集读取、搜索、查询为一体的程序,以方便乘客出行。
二 项目需求
2.1 地铁数据格式
地铁的站点名称、线路名称等具体信息需保存在subway.txt文件中,需确定文件中数据的保存形式,要求能方便程序的读取、用户的修改。
2.2 线路查询功能
用户输入指定的线路,程序可以输出该线路自起始点至终点的所有站点。
2.3 最短线路计算
用户输入出发地和目的地,程序可以计算出最短的路线以及换乘信息,同时将结果写入routine.txt中。
三 设计思路
3.1 地铁数据格式
地铁站点名称以及线路可以简单地以 “站点 线路” 形式保存在txt文件中,对于有线路重复的站点多次保存。例如:
勤俭道 1 洪湖里 1 西站 1 …… 西站 6 北竹林 6 ……
3.2 线路查询功能
程序可逐行读取并将站点存为一个结点,对于相同线路名的为同一线路上的站点,相同站点名不同线路名的为可换乘站。
3.3 最短线路计算
程序读取subway.txt并将站点和信息存为无向图,最短线路的权重可为最少的站点数,也可另外在线路(边)上赋距离权重,采用Floyed算法即可求解两站点间的线路方案。
四 总结
程序的实质是解决无向图中求两点间最短路径,后端实现上可用C、C++或者java,前端需做好良好的用户交互界面以提升用户使用体验。