地铁线路规划简要分析

需求分析

  1、设计地铁站信息文件的存储格式

  2、设计文件的读取和代码中地铁站信息的存储格式

  3、设计线路的查询

  4、设计任意两站点最短线路的查询功能

  5、设计使用命令行启动程序

  6、性能测试、时间复杂度的优化和bug测试

实现思路 

  1、项目存在线路和站点两个实体,存在一对多的关系;同时需要注意可换乘线路。

  2、文本采用(线路号,站点, 第几站,是否开通(1:开通;0:未开通))的存储格式,对于站点是否能够换乘,在代码中实现。

线路号 站点 站点号 是否开通
一号线 刘圆 1 1
一号线 西横堤 2 1
二号线 曹庄 1 1
三号线 南站 1 1
五号线 北辰科技园北 1 0


  3、读入文本内容,生成无向图;考虑到任意两站点的最短路径,采用Floyd算法,时间复杂度为O(n)。

  4、输出文本格式为(站点数、线路号、站点 )

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

  5、在语言选择上,使用java进行编写, 在IDEA 进行开发,两个调用应用程序:

    subway.exe -b 洪湖里 复兴路 -map subway.txt -o routine.txt

    java subway -a 1号线 -map subway.txt -o station.txt

  

个人说明

  在实现过程中,将许多步骤理想化,如:保证程序的输入一定是正确的;不考虑两站点距离的差异。

  无向图在代码中的生成分为邻接矩阵和链表的形式。由于许多站点之间不存在直接相连的线路,使用链表能够减少内存的消耗;邻接矩阵在java代码实现上较为简单。具体操作时再定。

 

posted @ 2019-09-20 22:52  ceilzcx  阅读(370)  评论(0)    收藏  举报