SubwayPlan

GitHub:Git


地铁出行路线规划项目需求及实现概要:

  1.设计一种文件格式用于存储地铁信息

  2.设计启动程序并读取地铁信息文件的命令行

  3.可以输出查询的具体地铁路线的所有途径地铁站点

  4.能够告知用户两个站点之间的最短路线

  5.进行代码复审

  6.进行测试

  7.进行性能检测

 

主要术语表:

中文名 英文 解释
线路 Line 地铁线路,线路上有很多的站点
站点  Station 地铁站点

实现思路:

本次大作业我们要完成的主要任务有设计文件的存储格式、查询地铁线路和站点间最短路线问题。

首先对于站点信息的文件存储格式,可以使用xml格式或者json格式,如果使用json格式侧需要编写相应的json格式转换的代码,但是json格式的方便程度是比较高的。而xml格式则比较繁琐。

1.要查询地铁线路,可以建立一个线路(Line)的list,在Java中可以使用ArrayList,而每个线路又是一个站点(station)它的列表,那么只需要遍历线路列表找到查询的线路并输出就可以(但是这样性能上可能会差一些),也要记得处理异常情况——找不到查询线路的问题。

2.要得出两个站点之间的最短路径,那么迪杰斯特拉算法是一种不错的选择,广度优先遍历同样可行;对于广度优先遍历,只要明确一点,最先找到终点站的路线就是最短路线。这里的异常情况是——找不到要查询的站点。

本次大作业如果使用C/C++来实现的话,性能上会有一定的优势,但是本次大作业的结构与功能并不是很复杂,java语言也可以胜任;鉴于个人对C++、Json格式的练习较少,我打算使用Java语言来编写此次大作业。

 

以下是输入格式设计(初步,可能修改):

{
    刘园:西横堤	1
    西横堤:果酒厂	1
    果酒厂:本溪路	1
    本溪路:勤俭道	1
    勤俭道:洪湖里	1
    洪湖里:西站	1
    西站:西北角	1
    西北角:西南角	1
    西南角:二纬路	1
    二纬路:海光寺	1
    海光寺:鞍山道	1
    ……………………
}

 大致上是两个站名用:隔开后再用1或0来表示是否经过该站点。

路径存储

由算法得到的路径存储在txt文件中,包括路径长度,线路和站点

1
刘园
果酒厂
…………
西站

  

你可能感兴趣的:(SubwayPlan)