地铁线路规划简要分析
作者:互联网
需求分析
1、设计地铁站信息文件的存储格式
2、设计文件的读取和代码中地铁站信息的存储格式
3、设计线路的查询
4、设计任意两站点最短线路的查询功能
5、设计使用命令行启动程序
6、性能测试、时间复杂度的优化和bug测试
PSP 2.1 | Personal Software Process Stages | Time |
---|---|---|
Planning | 计划 | |
· Estimate | · 估计这个任务需要多少时间 | |
Development | 开发 | |
· Analysis | · 需求分析 (包括学习新技术) | |
· Design Spec | · 生成设计文档 | |
· Design Review | · 设计复审 (和同事审核设计文档) | |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | |
· Design | · 具体设计 | |
· Coding | · 具体编码 | |
· Code Review | · 代码复审 | |
· Test | · 测试(自我测试,修改代码,提交修改) | |
Reporting | 报告 | |
· Test Report | · 测试报告 | |
· Size Measurement | · 计算工作量 | |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | |
合计 |
实现思路
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代码实现上较为简单。具体操作时再定。
标签:站点,简要,代码,线路,地铁,subway,设计,txt 来源: https://www.cnblogs.com/ceilzcx/p/11560054.html