简易地铁规划项目

简易地铁规划项目

一.项目信息


| 课程 | https://edu.cnblogs.com/campus/gdgy/cse2021 |

| --------|------------------------------- ---------------------------- |

| 作业要求| https://edu.cnblogs.com/campus/gdgy/cse2021/homework/12288 |

| 作业目标| <熟悉并掌握个人项目开发流程> |
|github|https://github.com/CS-200225/subway|

二.个人开发时间估算


PSP2.1 预计耗时 实际耗时
Planning 20 30
Estimate 20 90
Development 200 500
Analysis 15 60
Design Spec 30 30
Design Review 10 10
Design 40 40
Coding 40 200
Code Review 30 30
Test 15 10
Reporting 60 40
Test Repor 20 40
Size Measurement 10 10
Postmortem & Process Improvement Plan 10 20
Summary 505 1100

三.算法、模块接口设计与实现


1.算法
最短路径基于Dijkstra算法,首先找到距离V0最近的顶点V1,再寻找Vn(n=2,3,...,N)时判断Vn-2Vn-1与Vn-1Vn-2的路线是否相同。
如果路线相同从V0到Vn的时间t=min+G.arcs[k][w].weight;如果路线不同,需增加换乘时间5分钟t=min+G.arcs[k][w].weight+5。
比较t与(*d)[i][w]确定下一个最近顶点Vn。重复以上步骤,直至找到V0到所有顶点的最近距离。
代码:
屏幕截图 2021-10-06 194747屏幕截图 
2021-10-06 194747

2.系统模块功能的设计:
北京地铁换乘路线查询系统主要包括
⑴调用文件初始化地铁线路与图中的顶点函数
⑵初始化图的函数
⑶查看地铁线路详细信息函数
⑷在图中定位起始站与终点站的位置函数
⑸在地铁线路中判定每次经过的站始发为换乘站的函数
⑹花费最少时间查找最短路径的核心函数
⑺输出最短路径函数
⑻在途中需要的换乘信息函数
⑼主要功能实现函数
⑽操作选择函数
⑾主界面函数与查询界面函数。

3.部分函数如下
屏幕截图 2021-10-06 200111
屏幕截图 2021-10-06 200143

四.单元测试、程序运行


屏幕截图 2021-10-06 220928 屏幕截图 2021-10-06 220956 屏幕截图 2021-10-06 221054 屏幕截图 2021-10-06 221406

五.本次项目耗费大量时间和精力完成,在做项目的过程中也收获了很多很多,完成之后很有成就感,期待每一次进步

posted @ 2021-10-06 23:04  cs正义的伙伴  阅读(94)  评论(0)    收藏  举报