layout: post title: "软件工程 地铁出行规划" date: 2019-09-18 8:41 comments: false tags: 软工 申明:本题取自博客园 题目重述 本题任务 实现一个帮助进行地铁出行路线规划的命令行程序。 题目要求
layout: post
title: "软件工程 地铁出行规划"
date: 2019-09-18 8:41
comments: false
tags:
- 软工
申明:本题取自博客园
题目重述
本题任务
实现一个帮助进行地铁出行路线规划的命令行程序。
题目要求
- 使用Visual Studio Community 2019 或 IDEA 进行开发,采用C++, C# 或 Java 语言实现,运行环境为64-bit Windows 10。
- 提交的代码要求经过Code Quality Analysis工具的分析并消除所有的警告。Code Quality Analysis工具的用法参见:
http://msdn.microsoft.com/en-us/library/dd264897.aspx - 请使用性能分析工具来找出代码中的性能瓶颈并进行改进。
- 写出至少10个测试用例确保你的程序能够正确处理各种情况。
- 使用Github来管理源代码和测试用例。
作业提交
- 在个人博客上发布项目源代码的Github链接,以便培训助教下载,培训助教将会在测试环境中检查程序的正确性。
- 正确的程序会再进行性能测试,根据性能的好坏进行评分;不正确的程序没有性能的分数。
- 撰写一个博客,要求参见博客作业要求。
需求分析
- 实现一个支持显示地铁线路与计算换乘的程序
- 查询指定地铁线经过的站点
- 用户希望能获得以最少的站数从出发点到达目的地的路径
设计思路
存储的读取文件格式
读入的文件后缀为txt或csv(PS:大致格式如下,为了观察方便,就做成表格样子了)
subway.txt
routine.txt
使用语言
java
程序设计
首先我们可以将地铁的线路抽象为线,将地铁的站点抽象为点,然后构建出一个无向图,就可以将问题3转化为求最短路径的问题。求解最短路径的算法有很多,就比如dfs,bfs,dijsktra等。在这里我觉得为了更好的模拟一个人的真实运动的路线,用bfs算法更加合适一点,虽然复杂度高一点点。
计划详情