地铁线路问题分析

一、任务:

实现一个帮助进行地铁出行路线规划的命令行程序,能处理正确输入的命令行的计算地铁线路最短路径。

二、设计:

输入格式:选择json格式来输入,便于阅读。

需求1:显示地铁线路信息

将地铁线路信息等用一个文本文件以 subway.txt的形式保存起来,应保存的信息应包括地铁线路名称、各个地铁站点的名称以及车站换乘信息,使得应用程序可以通过读取这个文件,就能掌握关于北京地铁线路的所有信息。

java subway -map subway.txt  

需求2:查询指定路线经过的站点

查询指定地铁线经过的站点,程序就需要能够从线路的起始站点开始,依次输出该地铁线经过的所有站点,直到终点站。

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

需求3:找出两个地铁站间最短路径以及相应的换乘信息

计算从出发到目的站点之间的最短(经过的站点数最少)路线,并输出经过的站点的个数和路径(包括出发与目的站点),需要换乘则在换乘站的下一行输出换乘的线路。

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

三、思路:

语言选择较为熟悉的java,采用Dijkstra算法,遍历所有节点找到未访问过的节点中累积权值,最小的设为a,遍历该节点所有可达边(连通到目标节点B),如果节点A累积权值加可达边权值小于目标节点B自身的累积权值,则对目标节点B进行更新,将节点A设定为已访问,重复直到所有节点均访问完毕。

四、测试计算:

1.对比估计开发时间与实际时间

2.模块接口的设计与实现过程

3.模块部分单元测试展示

4.模块部分异常处理说明

5.自我测试,修改代码,提交修改,事后总结。

原文地址:https://www.cnblogs.com/31701070dzr/p/11559707.html

时间: 2024-08-30 11:12:33

地铁线路问题分析的相关文章

地铁线路项目设计与分析

#地铁线路项目设计与分析 ##一.项目介绍 #####实现一个帮助进行地铁出行路线规划的命令行程序 ##二.项目计划表 | PSP2.1 | Personal Software Process Stages | Time | | --- | --- | --- | | Planning | 计划 | | · Estimate | · 估计这个任务需要多少时间 | 2h | Development | 开发| | · Analysis | · 需求分析 (包括学习新技术) | 6h | · Des

天津地铁线路项目设计与分析

天津地铁线路项目设计与分析 项目需求分析:1.设计地铁线路的信息存储文件,如subway.txt 2.实现基础的查询操作(实现指定地铁线经过的站点的查询等) 3.实现最短路径计算,可以查询出发站与目标站的最短路径 设计思路: 1.采用java语言编程 2.地铁线路数据格式: 1号线:站点1 站点2 ... 2号线:站点1 站点2 ... 3号线:站点1 站点2 .........采用subway.txt文件格式进行存储输出等操作 3 洪湖里 西站 6号线 复兴路采用routine.txt文件格式

个人项目1(地铁线路最短路径的程序)初步分析

1.需求分析 根据个人项目简介,软件的需求有以下三个: 需求1: 实现一个支持显示地铁线路与计算换乘的程序.之后,用户可以通过命令行启动这个程序.程序在启动时,会读取不同命令对应的命令行参数.对于地铁线路信息图,我们约定它采用参数 -map 作为标志.程序启动时需要通过读取 -map 参数来获得对应的自定义地铁文件(命名为 subway.txt),从而得到地铁线路图的信息. 需求2: 实现基础的查询操作.比如说,用户希望查询指定地铁线经过的站点.这样,在应用程序需要支持一个新的命令行参数 -a,

北京地铁线路规划程序

程序说明: 这个项目是记录地铁线路并且加以计算,所以储存线路是其中的关键部分. 经过慎重的思考以及选择,最后决定采用链表的形式储存整个地图,因为地图的站点分布不均匀,采用邻接矩阵很不合适无法对齐,这样的方式也比邻接链表要方便. 最终的储存结构中,每个站点都有一个单独的station对象,并且储存了相关的信息,站与站之间按照线路排列,每一条线路的起点被专门放在一个数组里面方便访问. 问题地址:http://www.cnblogs.com/jiel/p/5852591.html 输入文件说明: 保存

地铁线路项目-结对编程

地铁线路项目-结对编程 2019.7.25 完成了模块开发:填写PSP实际完成时间:完成了模块设计:进行单元测试.黑盒测试. PSP表记录: PSP2.1 Personal Software Process Stages Time Real Time Planning 计划 1h 1h ??·?Estimate ?? ·?估计这个任务需要多少时间 1h 1h Development 开发 21h 20.5h ??·?Analysis ?? ·?需求分析?(包括学习新技术) 2h 1.5h ??·

天津地铁线路最短路径计算项目规划

天津地铁线路路径查询项目规划 一.项目介绍 实现一个帮助进行地铁出行路线规划的命令行程序. 二.项目完成预估表 PSP 2.1 Personal Software Process Stages Time Time Planning 计划 · Estimate · 估计这个任务需要多少时间 1day Development 开发 · Analysis · 需求分析 (包括学习新技术) 3day · Design Spec · 生成设计文档 1day · Design Review · 设计复审 (

地铁最短路径代码分析

地铁最短路径代码分析 相关链接: https://github.com/jindsad/subwayDijkstra 实验要求说明: 根据实验要求,要实现5块部分. 1.导入txt中储存的地铁线路. 2.通过地铁线路生成地铁图,并记录每条线路的站点. 3.通过Dijkstra算法算出最短路径,储存在列表中. 4.遍历路径列表,记录线路转变,存入字符串. 5.将最短路径字符串导出txt. 模块分析: 保存站点和线路的类 站点类名Vertex包含属性有名字,相邻节点,所属线路,距离起始点最短路径,在

地铁线路最短路径问题

项目介绍 主要功能 提供一副地铁线路图,计算指定两站之间最短(最少经过站数)乘车路线:输出指定地铁线路的所有站点.以北京地铁为例,地铁线路信息保存在data.txt中,格式如下: 地铁线路总数 线路名1 站名1 站名2 站名3 ... 线路名2 站名1 站名2 站名3 ... 线路名3 站名1 站名2 站名3 ... ... github https://github.com/xupppp/subwayAssistant 实现语言 java 主要算法 迪杰斯特拉(dijkstra) 类职责划分

个人项目——地铁线路规划

个人项目-地铁线路规划系统 GitHub项目地址:https://github.com/ye1014239226/Subway1.git 问题描述 1.输入地铁线路的名字,显示该线路上的站点信息 2.输入起末站的站点名字,输出最优的换乘路线(经过站点数量最少) 解决思路 1.收集北京地铁的线路信息,存入txt文件中,并导入到设计的数据存储方式中去 2.读入数据并且构建地铁线路图的数据结构 3.使用迪杰斯特拉算法求最短的换乘路径 4.测试 解决过程 1.数据存储 txt的存储形式如下 线路名 站点