Metro
Metro 需求分析 实际已包含于题目中。 后端设计思路 题目所给定的地铁辅助规划在实际应用上是意见非常困难的事,当然我们在编写代码时会自动忽略这些(笑),而将地铁网简单地缩略为一张 无向图 。这样一来题目所要求的最短路径规划问题就变成了最基本的 最短路 问题。 实际给定的天津地铁路线图中,总站点的数量较少,未超过200;所以考虑使用 \(Floyed\) 对地铁图进行预处理并直接保存结果。换乘路线则由对预处理结果的新一轮遍历所添加完成。 其中目前单线开通站点数量最多的6号线站点数量为39个;所以考虑将所有路线的站点信息放在同一个文件中,以40为除数所得到的商区分具体路线,以余数区分每个路线中的具体站点。 前端显示 我们期望这个系统能由一个相对直观的结果显示;所以程序的控制台输出基本结果的同时,我们会在资源管理器中生成一个借助 \(mermaid\) 生成图像的 \(markdown\) 文件,你可以使用如Typora的markdown编写器来进行查看。(虽然mermaid自身一般用于流程图,但实际的地铁路线图也确实与流程图有着诸多的相似点)。 实际由于vue尚未开始学习,故退而求其次. 理论复杂度 理论时间消耗包括: 预处理(在软件开发阶段即完成,不影响实际使用):$ \mathcal{O}(N^3 + N^2) $ 实际使用:$