再议公交查询算法

再议公交查询算法

    前段时间写过一篇《公交路线查询算法》,其中设计了一个数据存储的方案,这里又做了一番改进。

公交路线查询算法》提到的算法最多提供倒乘一次的方案(我觉得在实际应用中也能基本满足需要,如果一个城市公交倒乘一次都不能到达目的地的话,公交也太不发达了)。如果将以下数据初始化为一张图,就可以按照图的路径查询算法来解决公交查询问题了,倒乘多次的方案也能提供。请真正做过公交查询系统的高人指点。

Struct Stop

{

   String Name;

Stop  *LastStop;

Stop  *NextStop;

} Stop;

数据存储设计如下:

<?xml version=1.0 encoding=utf-8 ?>

<Map>  <!–所有公车站点–>

    <Stop>

      <Name>圆明园东门站</Name><!–站点名称–>

 

      <Bus><!–在此站停车的车次–>

        <Num>656</Num>

        <LastStop><!–上一站–>

          <name>北京体育大学站</name>

          <distance>2</distance><!–据本站距离–>

        </LastStop>

        <NextStop><!–下一站–>

          <name> 清华附中站</name>

          <distance>1</distance>

        </NextStop>

      </Bus>

 

      <!–……

      ……

      ……–>

 

      <Bus>

        <Num>656</Num>

        <LastStop>

          <name>北京体育大学站</name>

          <distance>2</distance>

        </LastStop>

        <NextStop>

          <name> 清华附中站</name>

          <distance>1</distance>

        </NextStop>

      </Bus>

 

      <Bus>

        <Num>656</Num>

        <LastStop>

          <name>北京体育大学站</name>

          <distance>2</distance>

        </LastStop>

        <NextStop>

          <name> 清华附中站</name>

          <distance>1</distance>

        </NextStop>

      </Bus>

     

    </Stop>

 

  <!–……

      ……

      ……–>

 

  <Stop>

    <Name>清华附中站</Name>

 

    <Bus>

      <Num>743</Num>

      <LastStop>

        <name>圆明园东门</name>

        <distance>2</distance>

      </LastStop>

      <NextStop>

        <name> 圆明园东路</name>

        <distance>1</distance>

     </NextStop>

    </Bus>

 

    <!–……

      ……

      ……–>

   

    <Bus>

      <Num>运通105</Num>

      <LastStop>

        <name>圆明园东门</name>

        <distance>2</distance>

      </LastStop>

      <NextStop>

        <name> 圆明园东路</name>

        <distance>1</distance>

      </NextStop>

    </Bus>

 

    <Bus>

      <Num>656</Num>

      <LastStop>

        <name>圆明园东门</name>

        <distance>2</distance>

      </LastStop>

      <NextStop>

        <name> 圆明园东路</name>

        <distance>1</distance>

      </NextStop>

</Bus>

 

  </Stop>

 

</Map>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111114.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 文件服务器 ldap,windows下搭建ldap服务器[通俗易懂]

    文件服务器 ldap,windows下搭建ldap服务器[通俗易懂]windows下搭建ldap服务器内容精选换一换当您发现云服务器的运行速度变慢或云服务器突然出现网络断开的情况,则可能是云服务器的带宽和CPU利用率过高导致。如果您已经通过云监控服务创建过告警任务,当CPU或带宽利用率高时,系统会自动发送告警给您。Windows云服务器带宽流量过高或CPU利用率高,您可以按如下步骤进行排查:问题定位:定位影响云服务器带宽和CPU利用率高的进程。Wind本文以云服…

    2022年5月15日
    63
  • PS2手柄遥控控制灯开关(arduino)

    PS2手柄遥控控制灯开关(arduino)PS2手柄遥控控制灯开关(arduino)使用的材料arduino板子:ps2遥控手柄;一个5V供电的LDE;连线首先按照遥控手柄底座上的英文,你会发现一共有六根线,分别是GND,VCC,DAT,CMD,CS,CL。GND连接arduino板子上的gnd,vcc连接5V或者3.3v,其他四根线可以按照代码中的引脚设置连接,也可以自己更改。代码部分#include<PS…

    2022年6月3日
    88
  • java入门编程(菜鸟教程)

    java入门编程(菜鸟教程)1.创建一个java程序的步骤a打开editplus软件,选择左上角的file选项,在弹出来的菜单中选择new然后再从弹出来的菜单中选择normaltextb按住ctrl+s快捷键,保存。1选择要保存的位置2给文件命名(以大写的字母开头)3选择文件的后缀,以.java后缀结尾c进行代码的编写,所有字符我们必须都是英文输入状态下的d打开控制台(win+r在弹出左下角的命令行中输入cmd)e找到java源文件的位置,我们使用cd命令定位到我们源文件的文件夹(我们可以在打开的源文件文件夹地址栏

    2022年5月26日
    41
  • 基于阿里DDNS的ipv6 for windows版软件

    基于阿里DDNS的ipv6 for windows版软件基于阿里DDNS的ipv6forwindows版软件会搜到这篇帖子的同学,应该和我一样,满世界为自己的虚拟主机找寻ipv6的动态ddns程序吧?下面我先说说我的折腾故事:因为买了群晖,然后发现需要公网ip,但公网ip现在电信要钱了,开口100元一个月,挺黑的。没办法尝试了各种内网穿透,这类帖子网上很多,就不细说了,总之是各种折腾,各种不爽,最终选择了零遁伴侣做内网穿透还算稳定,速度也不错。…

    2022年6月13日
    40
  • translate函数用法_fork函数在循环体中

    translate函数用法_fork函数在循环体中TranslateMessage函数函数功能描述:将虚拟键消息转换为字符消息。字符消息被送到调用线程的消息队列中,在下一次线程调用函数GetMessage或PeekMessage时被读出。.函数原型:   BOOLTranslateMessage( CONSTMSG*lpMsg);.参数:   lpMsg       指向一个含有用GetMessage或PeekMe

    2025年11月5日
    4
  • matlab fmincon 精度,fmincon与quadprog误差

    matlab fmincon 精度,fmincon与quadprog误差该楼层疑似违规已被系统折叠隐藏此楼查看此楼有没有人能帮我看看这两个程序的运行结果为什么会不一样啊??困扰了好久……程序一:%text1.mclearall;clc;a=[0.058,0.075,0.092,0.111,0.136,0.092]’;b=[0.062,0.085,0.128,0.149,0.164,0.148]’;alpha=[0.054,0.075,0.096,0.1…

    2022年6月10日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号