个人培训项目-环境搭建
北京地铁实例
预期计划
PSP 2.1 | Personal Software Process Stages | Time |
---|---|---|
Planning | 计划 | 1h |
Estimate | 估计这个任务需要多少时间 | 2h |
Development | 开发 | 5h |
Analysis | ·需求分析 (包括学习新技术) | 2-3h |
Design Spec | 生成设计文档 | 1h |
Design Review | 设计复审 (和同事审核设计文档) | 1h |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 1h |
Design | 具体设计 | 1h |
Coding | 具体编码 | 2h |
Code Review | 代码复审 | 1h |
Test | 测试(自我测试,修改代码,提交修改) | 2-3h |
Reporting | 报告 | 1h |
Test Report | 测试报告 | 1h |
Size Measurement | 计算工作量 | 1h |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 1h |
合计 | 23-25h |
需求分析
- 计算地铁线路最短路径
- 支持显示地铁线路与计算换乘的程序
- 查询指定地铁线经过的站点
- 最少的站数从出发点到达目的地
实现思路
为了输入及存储数据的方便采取json格式,并使用CJsonObejct作为json的支持库
- 异常情况
- 线路不存在
- 站点找不到
- 将地铁线路抽象为无向图,将问题转化为无向图上求最短路的问题
- 采用堆优化的Dijstra算法,可以预计是个稀疏图,时间复杂度\(O(VlogV)\),空间复杂度\(O(M+V)\)
- 测试点
- 无重复路径
- 保证站点在路径上
输入
- 用参数 -map 作为标志。程序启动时需要通过读取 -map 参数来获得对应的自定义地铁文件(命名为 subway.txt),从而得到地铁线路图的信息。
subway.exe -map subway.txt
//地图格式
{{"subway-line-name" : "一号线","stations" : ["苹果园","古城"]},{"subway-line-name" : "二号线","stations" : ["积水潭","鼓楼大街"]}
}
- 支持一个新的命令行参数 -a,它指定了用户希望查询的地铁线路。这样,在给定地铁线路时,你的程序就需要能够从线路的起始站点开始,依次输出该地铁线经过的所有站点,直到终点站。输出的文件我们使用 -o 命令行参数来指定。
subway.exe -a 1号线 -map subway.txt -o station.txt
//输出格式
{{"subway-line-name" : "一号线","stations" : ["苹果园","古城"]},
}
- -b 参数加两个地铁站点名称分别作为出发与目的,比如用户希望知道 动物园 到白堆子 之间的最短路线是怎样的,他就可以使用如下命令让程序将结果写入 routine.txt 中
subway.exe -b 动物园 白堆子 -map subway.txt -o routine.txt
//输出格式
{{"subway-line-name" : "一号线","stations" : ["苹果园","古城"],"number-of-stations" : "5"},
}
实际对应路线
转载于:https://www.cnblogs.com/klchen/p/11546006.html
个人培训项目-环境搭建相关推荐
- 黑马学成在线--项目环境搭建
完整版请移步至我的个人博客查看:https://cyborg2077.github.io/ 学成在线–项目环境搭建 学成在线–内容管理模块 学成在线–媒资管理模块 学成在线–课程发布模块 学成在线–认 ...
- 美多后台管理和项目环境搭建
美多后台管理 Django框架已经提供了一个Admin管理后台,但是Admin的本身的页面可修改的页面布局效果比较少,无法满足公司定制页面需求,这时候就需要独立开发一套后台管理系统,满足公司对后台数据 ...
- linux基本项目环境搭建
文章目录 linux基本项目环境搭建 java环境搭建 获取java源码包 解压 配置环境变量 使配置文件生效 验证 nginx安装 下载(java也可用此方法下载) 解压 配置(configure) ...
- 企业实战(2) 项目环境搭建之Tomcat部署
前言: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说, ...
- Vue项目实战之人力资源平台系统(一)框架介绍及项目环境搭建
前言 目录 前言 一.vue-element-admin简介 二.项目环境搭建 2.1 nodejs环境 2.2 git版本控制 2.3 vscode编辑器 三.拉取vue-element-admin ...
- 云服务器部署项目环境搭建
云服务器部署项目环境搭建 这里以阿里云为例: 一.安装JavaJDK 指令: yum -y install java-1.8.0-openjdk* 二.下载部署TomCat 去TomCat官网下载:T ...
- django项目环境搭建
项目环境搭建 在github上创建项目 官网: https://github.com/ 点击new 新建项目 公钥绑定 使用 git clone 项目到本地 一.在码云平台创建项目 版本控制的种类: ...
- 代驾APP_第一章_项目环境搭建_第一节
代驾APP_第一章_项目环境搭建 文章目录 代驾APP_第一章_项目环境搭建 1-1 创建根项目 一.创建SpringBoot项目 二.覆盖pom.xml文件 1-2 创建根项目 一.创建公共模块 二 ...
- 代驾APP_第一章_项目环境搭建_第二节
代驾APP_第一章_项目环境搭建_第二节 文章目录 代驾APP_第一章_项目环境搭建_第二节 1-11 创建bff-driver服务 一.创建项目 二.配置pom.xml文件 三.编写YML配置文件 ...
最新文章
- 数据库流行度5月排行榜:Oracle企稳PostgreSQL飙升
- qt show widget_QWidgetStack类 - Qt 参考中文帮助文档
- dpdk优化(转)???
- 川大计算机系1999级高伟,四川大学计算机系主任魏骁勇研发人脸识别无人机课堂点名...
- 以太网标准-802.3各个标准简介
- 微信小程序App.js应用
- Linux---基础部分
- matlab播放 视频帧,MATLAB读取视频并按帧保存
- append和extend的差别
- layer icon图标汇总
- Java基础 DAY14
- Plant Simulation使用技巧
- yum install时提示This system is not registered with an entitlement server
- python人脸识别、语音合成、智能签到系统(2)
- 使用 Flutter 开发 Google Translate 程序
- 词根词缀学单词【3】
- 降本增收 相约Q4 |衡石九月头条
- lg g5 h868 android 7,LG G5 (H868)全网通智能手机
- VB编程小实例-----儿童识字
- CEAC 之《企业信息化管理》3