数据结构课程设计

20. 公交线路上优化路径的查询 

问题描写叙述 

最短路径问题是图论中的一个经典问题,当中的Dijkstra算法一直被觉得是图论中的好算法,但有的时候须要适当的调整Dijkstra算法才干完毕多种不同的优化路径的查询。 

对于某城市的公交线路,乘坐公交的顾客希望在这种线路上实现各种优化路径的查询。设该城市的公交线路的输入格式为: 

线路编号:起始站名(该站坐标);经过的网站1(该站坐标);经过的网站2(该站坐标);……;经过的网站n(该站坐标);终点站名(该站坐标)。该线路的乘坐价钱。该线路平均经过多少时间来一辆。车速。 

比如:63A(32,45)B(76,45)C(76,90);……;N(100,100)1元。5分钟。1/每分钟。 

假定线路的乘坐价钱与乘坐站数无关,假定不考虑公交线路在路上的交通阻塞。 

对这种公交线路,须要在其上进行的优化路径查询包含:不论什么两个网站之间最廉价的路径;不论什么两个网站之间最省时间的路径等等。 

 基本要求 

 依据上述公交线路的输入格式,定义并建立合适的图模型。 

 针对上述公交线路,能查询获得不论什么两个网站之间最廉价的路径,即输入站名ST后,能够输出从ST的最廉价的路径,输出格式为:线路x:站名S,…,站名M1;换乘线路x:站名M1,…,站名M2;…;换乘线路x:站名MK,…,站名T。共花费x元。 

 针对上述公交线路,能查询获得不论什么两个网站之间最省时间的路径(不考虑在中间站等下一辆线路的等待时间),即输入站名ST后,能够输出从ST的考虑在中间站等下一辆线路的等待时间的最省时间的路径,输出格式为:线路x:站名S,…,站名M1;换乘线路x:站名M1,…,站名M2;…;换乘线路x:站名MK,…,站名T。共花费x时间。 

 针对上述公交线路,能查询获得不论什么两个网站之间最省时间的路径(要考虑在中间站等下一辆线路的等待时间),即输入站名ST后,能够输出从ST的考虑在中间站等下一辆线路的等待时间的最省时间的路径,输出格式为:线路x:站名S,…,站名M1;换乘线路x:站名M1,…,站名M2;…;换乘线路x:站名MK,…,站名T。共花费x时间。 

(4) 实现提示 

需深入考虑,应依据不同的应用目标,即不同的优化查询来建立合适的图模型。 

 

github地址:

https://github.com/Findxiaoxun/Busmap

devlog




2014年03月19日 13时57分12秒 正式開始,前两个问题的算法已经有了头绪,今天就先把这两个实现。
还是先考虑下数据的读入和存储问题吧。以免后期大修改。
路线用vector,联通否直接用二维数组,每一个点都标序号
class node应该包括的东西:
网站序列,网站经过的线路号,
class route :
线路经过的网站
线路车速,价格,
等待的时间。


文件的操作放到server上。同一时候文件的处理,对路线等的读入和初步处理在server上。
採用多线程来计算,同一时候,主意在屏幕提示状态
结果的保存格式?选择的点及用的路线。按顺序存储
2014年03月26日 10时32分08秒 尽管scanner巨慢无比,我还是先选用scanner看看吧http://zhidao.baidu.com/link?url=lQFBknkSa43YWkq8gxWtQfQbdg
DS5raKmZBnqQdgpYdI1XUkv_RrjY97Wf9fjr3taj80DKjJNjs1hkaHZ10wTK
新建一个client来处理吧,先,至于用不用server再说吧,用的话,还须要下载文件。这样也行。
进度条:http://blog.csdn.net/kakashi8841/article/details/6388797
http://bbs.csdn.net/topics/340076988
进度条先放一放,client载入数据用最后.thread 和runnable的差别http://blog.chinaunix.net/uid-20665441-id-310538.html
文件的工作放到
rmi传输文件:http://www.cnblogs.com/qytan36/archive/2010/03/28/1698885.html




仅仅写本地的!!!
version 0.3
数据格式:
线路号 网站数 站1 x1 y1 站2 x2 y2 站3 x3 y3 站4 x4 y4 ...  价格 周期 车速
搜集数据


2014年04月02日 10时35分05秒 把数据格式定下来,同一时候准备做主界面(開始有个页面的消失动画)


version 0.6
更新了主界面。准备今晚先写算法,然后准备更新的东西。
最省时间的那个算法:
首先先把数据读入进去。也不要处理。读入的是每条线路的经过的点,这条线路的价格。等等。然后再循环每条线路,更新经过的点的passRoute,还有就是点与点之间的是否通(后期能够通过两个点的共同的路线来确定路线。)
14:46 2014/4/23
version 0.7 完好界面,同一时候測试第一个算法功能
后期目标:接入语音功能,能够弹出结果的选择界面
Node:
index:节点序号passRoute[]:经过它的线路号len经过它的线路数量x,y:节点坐标
getPassRoute()获取通过的线路号
getIndex()获取节点号
addPassRoute()加入经过的线路,用户在初始加入线路的时候


Route:
speed:速度index线路号price价格time多长时间来一趟len经过的节点数passNode经过的节点号
addPassNode()加入经过的节点号
getPassNode()获取该线路的节点集合
getSpeed()获取速度
getPassNodelen()获取经过的节点数量

16:37 2014/4/27 抓紧时间完好啊!!!
9:15 2014/5/4 goal:完好測试第一个
version 0.8 文件读入结束,界面设计70%,准备開始測试第一个
findbutton按下,直接调用dijkstra的方法
最省时间的:先不考虑换成的车号
全部的点都从1開始!!nodelen有意义
15:56 2014/5/5 version 0.9 debug。。。。
12:24 2014/5/6 version 1.0 正在进行第一个的调试,还是读入的问题啊!!!
while(scan2.hasNext()){
Route b=new Route();
这里的b一定要在里面new啊@@@@@
version 1.1 已经完好了第一个功能。并且測试通过。准备加入第二个算法。



我就斗胆传上来了,终于实现的效果非常烂。。。花的时间太少了,倒是数据库的那个课程设计感觉做的还不错。http://blog.csdn.net/findxiaoxun/article/details/22265575

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401771.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android屏幕大小适配问题解决

一、一些基本概念 1、长度(真实长度):英寸、inch 2、分辨率:density 每英寸像素数 dpi(密度) 3、像素:px 4、dip的公式:px /dipdpi/160 所以 dip 类似于英寸、长度&am…

开源 免费 java CMS - FreeCMS1.9 会员组管理

2019独角兽企业重金招聘Python工程师标准>>> 项目地址:http://www.freeteam.cn/ 会员组管理 会员组分为两种,一级是经验会员组,一种是特殊会员组。 经验会员组的会员会根据经验自动变更,特殊会员组不会自动变更&…

C++期末复习总结继承

继承是软件复用的一种形式,他是在现有类的基础上建立新类,新类继承了现有类的属性和方法,并且还拥有了其特有的属性和方法,继承的过程称为派生,新建的类称为派生类(子类),原有的成为…

蓝桥杯历年预赛习题

标题:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一个整数。请通过浏览器提交答案。 不要书…

产品经理,你来自江湖

2019独角兽企业重金招聘Python工程师标准>>> 产品经理,你来自江湖 ----论产品经理的发展中的技能与技能图书 导读: 过去的15年中,在互联网行业,我认为没有一个职位比产品经理对行业的推动更大,这些年里&…

小谈深度优先搜索

最近读了一本算法书,书中提到了深度优先算法,于是我就整理了一下。 引入小题: 解决方案:这里先使用最简单最常用的穷举法时行求解。(此代码中的book数组起到了标记的作用,可以参考桶装法排序了解标记的好处…

vim学习(2)小幅提升

2019独角兽企业重金招聘Python工程师标准>>> 搜索: 忽略大小写: :set ignorecase :set noignorecase 在文本中查找下一个WORD: 把光标定位于这个word上,然后按下"*"键 /word "#"命令是&qu…

NetCore NW714 v2.0路由器TTL救砖

路由器成砖状态: 1.客户端无法获取IP地址 2.客户端设置IP地址后,无法PING通路由器IP地址。 3.路由器按reset按钮,无法重置路由器。 4.路由器的指示灯只有SYS和WPS亮,WPS微亮。 5.在路由器的LAN口和WLAN口插入网线,相应…

斐讯k1路由器刷Breed BootLoader(不死UBoot)

前段时间斐讯搞活动,我入手了一部139元的斐讯K1路由器,感觉硬件配置不错,于是就给K1路由器刷入了Breed启动程序。 路由器外观: 路由器内观: 硬件配置: CPU:MediaTek MT7620A ver 2,eco 6 内存…

html中滚动栏的样式

DIV滚动栏设置 &#xff08;CSS&#xff09;2008/09/26 03:07div 中滚动栏的控制2008年01月06日 星期日 01:181)隐藏滚动栏<body style"overflow-x:hidden;overflow-y:hidden">(2)怎样在单元格或图层中出现滚动栏<div style"width:200px;height:200px;…

Openwrt虚拟WAN口叠加网速

Openwrt路由器系统功能强大&#xff0c;接下来我就要用这个系统叠加网速了。 网络环境 我这边用的网络是学校办公室的&#xff0c;听到学校办公室的网&#xff0c;大家应该会认为网速很快&#xff0c;但是我这个学校在交换机上把每个IP的最大速率限制在了1MB/S&#xff0c;实在…

【Go语言】面向对象扩展——接口

简单地说 Interface是一组Method的组合&#xff0c;可以通过Interface来定义对象的一组行为。如果某个对象实现了某个接口的所有方法&#xff0c;就表示它实现了该借口&#xff0c;无需显式地在该类型上添加接口说明。 Interface是一个方法的集合&#xff0c;它里面没有其他类型…

PHPCMS代码生成器

软件截图 软件说明 软件名称&#xff1a;PHPCMS代码生成器 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;此软件是用于对PHPCMS模板进行编辑制作的高效代码生成器&#xff0c;大部分的操作代码在此软件内都可实现&#xff0c;欢迎使用。 火眼检测报告…

18款 非常实用 jquery幻灯片图片切换

1、jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动 jquery图片特效制作仿腾讯QQ商城首页banner焦点图片轮播切换效果&#xff0c;带索引按钮控制和左右按钮控制图片切换。 查看演示>> 下载地址 2、jquery图片切换插件制作图片层叠缩放展示效果 jquery图…

全国电视直播v1.0

软件截图 软件说明 软件名称&#xff1a;电视直播 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;此软件可以观看几乎全国各地的电视台&#xff0c;无如播放不流畅&#xff0c;可以切换左侧的播放源&#xff0c;欢迎使用。 下载地址&#xff1a;http…

iOS UIModalPresentationFormSheet风格下的键盘隐藏

1. 在UIModalPresentationFormSheet&#xff08;iPad device, without a UINavigationController&#xff09;下的视图中&#xff0c;如果使用 [inputView resignFirstResponder]; 是不能把Keyboard收起的&#xff0c;需要使用以下的方式&#xff1a; A&#xff1a; try { Clas…

迅雷会员帐号获取器

软件截图 软件说明 软件名称&#xff1a;迅雷会员获取器 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;此在左上角的下拉列表框中选择来源&#xff0c;单击“获取帐号”即可在下方的列表中出现迅雷会员的账号和密码&#xff0c;如果获取失败&#x…

HTML代码转换编辑器

软件截图 软件说明 软件名称&#xff1a;HTML代码转换编辑器 版本&#xff1a;v1.0 开发语言&#xff1a;C# .Net framework3.5 下载地址&#xff1a;http://download.csdn.net/detail/lecepin/9417174 博客名称&#xff1a;王乐平博客 博客地址&#xff1a;http://blog.le…

系统时间校准工具

软件截图 软件说明 软件名称&#xff1a;系统时间校准 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;方便电脑系统时间不正确&#xff0c;每次启动时间都重置等时间不正确的情况&#xff0c;提供时间校准的方便。校准时间均为世界标准时间同步网络…

localtime 和 localtime_r

---恢复内容开始--- 上程序&#xff1a; [c-sharp] view plaincopyprint?#include <cstdlib> #include <iostream> #include <time.h> #include <stdio.h> using namespace std; int main(int argc, char *argv[]) { time_t tNow tim…