注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

hurt0759的个人主页

人生常态--跋涉.人生暂态--歇息.

 
 
 

日志

 
 

公车换乘算  

2009-09-28 11:02:36|  分类: IT |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

公车换乘算法:1.按最小站数.

                       2.最小换乘数

                       3.最小距离数

                       4.最短时间(复杂,涉及等待时间)

                       5.最少费用.

 一,最小站数,先建立树,把全部的公车站连起来,可按任一公车总站,尽可能涉及较多的公车路线,然后,对任一线路进行标识,(三号线的A站,三号线B站....),在查找时,可先找出目的地,然后读出目的地的所有线路(站1有一号线,五号线等经过,那再从一号线中寻找有没有包括输入的起始点,与其相关的邻近站点压栈如果没有,再找五号线,再没有也压栈,再从栈中读出一个该线路的一个站点(,相关的邻近站点压栈),然后从该站点读出所有的线路,是否有包括起始点的值.没有的话,再从栈中读出一个该线路的一个站点,若找到有包括起始点的值的线路,则从数据库中读出两站点间的站点数,然后从库数据读出此站与起始点的站数.查找完成,(如果没有一直重复,直到找到包括起始值的该线路,)

二,最小换乘数K:在查找时,可先找出目的地,然后读出目的地的所有线路(站1有一号线,五号线等经过,那再从一号线中寻找有没有包括输入的起始点,与其相关的邻近站点压栈如果没有,再找五号线,再没有也压栈,再从栈中读出一个该线路的一个站点(,相关的邻近站点压栈),然后从该站点读出所有的线路,是否有包括起始点的值.没有的话,再从栈中读出一个该线路的一个站点,若找到有包括起始点的值的线路,则K=1,查找完成,(如果没有一直重复,直到找到包括起始值的该线路,)

三:最小距离数S:可先找出目的地,然后读出目的地的所有线路(站1有一号线,五号线等经过,那再从一号线中寻找有没有包括输入的起始点,与其相关的邻近站点压栈如果没有,再找五号线,再没有也压栈,再从栈中读出一个该线路的一个站点(,相关的邻近站点压栈),然后从该站点读出所有的线路,是否有包括起始点的值.没有的话,再从栈中读出一个该线路的一个站点,若找到有包括起始点的值的线路,则从数据库中读出两站点间的权值,求出两站点距离d0,S=S+d0,然后根据数据库中的值求出此站与起始点的距离d1,s=s+d1.查找完成,(如果没有一直重复,直到找到包括起始值的该线路,)

  评论这张
 
阅读(345)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017