zoukankan      html  css  js  c++  java
  • 地铁出行线路规划——基本理解与设计思路

    image

    基本理解

    要实现一个能够计算最短路线、查询地铁线站点等信息的规划地铁出行线路的程序。

    一、需求分析

    • 获得地铁线路图的信息。

    对于地铁线路信息图,采用参数 -map 作为标志。程序启动时需要通过读取 -map 参数来获得对应的自定义地铁文件(命名为 subway.txt)。一个调用应用程序的示例如下:

    subway.exe -map subway.txt
    
    • 能够查询指定地铁线经过的站点。

    在给定地铁线路时,从线路的起始站点开始, 依次输出该地铁线经过的所有站点,直到终点站。在应用程序需要支持一个新的命令行参数 -a 指定用户希望查询的地铁线路。输出的文件使用 -o 命令行参数来指定。一个调用应用程序的示例如下:

    subway.exe -a 1号线 -map subway.txt -o station.txt
    
    • 能够查询起始站点与目的地间的最短路线,并输出经过的站点的个数和路径(包括起始站点与目的站点),如果需要换乘,则在换乘站的下一行输出换乘的线路。

    在命令行中以 -b 参数加两个地铁站点名称分别作为出发与目的,比如用户希望知道 洪湖里 到复兴路 之间的最短路线是怎样的,他就可以使用如下命令让程序将结果写入 routine.txt 中。

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

    设计思路

    一、存储设计

    地铁信息的存储格式需要方便程序读取,简洁易懂,并可以灵活拓展。

    • 地铁线路信息图——subway.txt
    1号线 1站点 2站点 3站点……
    2号线 1站点 2站点 3站点……
    3号线 1站点 2站点 3站点……
    4号线 1站点 2站点 3站点……
    5号线 1站点 2站点 3站点……
    ……
    
    • 地铁线所经站点——station.txt
    1站点 2站点 3站点……
    
    • 起始站点与目的地间的最短路线——routine.txt
    1
    1站点
    2站点
    3站点
    ……
    2号线(换乘)
    1站点 
    2站点
    3站点
    ……
    

    二、程序设计

    • 通过无向图保存地铁各站点,用最短路径——Dijkstra算法或Floyd算法等实现计算出起始站点与目的站点间的最短路线。

    • 能获取地铁线路图,并在输入地铁线后输出相应站点、在输入起始站点与目的站点后按照规范输出相应最短路线。

    • 做出异常处理,当输入出错时给出提示。

    三、个人计划

    好好加油吧!Fighting!

    image

    PSP 2.1 Personal Software Process Stages Time
    Planning 计划
    · Estimate · 估计这个任务需要多少时间 1h
    Development 开发
    · Analysis · 需求分析 (包括学习新技术) 1h
    · Design Spec · 生成设计文档 1h
    · Design Review · 设计复审 (和同事审核设计文档) 1h
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1h
    · Design · 具体设计 1h
    · Coding · 具体编码 12h
    · Code Review · 代码复审 3h
    · Test · 测试(自我测试,修改代码,提交修改) 6h
    Reporting 报告
    · Test Report · 测试报告 2h
    · Size Measurement · 计算工作量 1h
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 1h
    · 合计 31h
  • 相关阅读:
    LeetCode120 Triangle
    LeetCode119 Pascal's Triangle II
    LeetCode118 Pascal's Triangle
    LeetCode115 Distinct Subsequences
    LeetCode114 Flatten Binary Tree to Linked List
    LeetCode113 Path Sum II
    LeetCode112 Path Sum
    LeetCode111 Minimum Depth of Binary Tree
    Windows下搭建PHP开发环境-WEB服务器
    如何发布可用于azure的镜像文件
  • 原文地址:https://www.cnblogs.com/qiyuexia3277/p/11561172.html
Copyright © 2011-2022 走看看