再议公交查询算法

再议公交查询算法

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

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

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java不可重入锁和可重入锁理解[通俗易懂]

    Java不可重入锁和可重入锁理解[通俗易懂]最近正在阅读JavaReentrantLock源码,始终对可重入和不可重入概念理解不透彻,进行学习后记录在这里。基础知识Java多线程的wait()方法和notify()方法这两个方法是成对出现和使用的,要执行这两个方法,有一个前提就是,当前线程必须获其对象的monitor(俗称“锁”),否则会抛出IllegalMonitorStateException异常,所以这两个方法必须在同步…

    2022年6月26日
    27
  • Microsoft QAS架接项目「建议收藏」

    Microsoft QAS架接项目「建议收藏」1,p位置玩文件后。运行程序命令是:QCSQueryLabelWithLES.exe-c%CD%\FinalQASModelDir–variantAMyMovie–outputFullLine–clientIdzhcn–queryViewsRawQuery,NormalizedQuery–queryInColumn1-iinput3.txt–qcrank…

    2022年6月28日
    25
  • 搭建一个属于自己的语音对话机器人

    搭建一个属于自己的语音对话机器人

    2021年9月17日
    59
  • php号码归属地查询源码,手机号码归属地查询

    php号码归属地查询源码,手机号码归属地查询手机号码归属地查询请输入你要查询的手机号码:”.$phone.”属于”.getphone($phone).””;}}?>//function.php文件session_start();functionupdate($num,$info){$dbpath=”xiaolin/”;$len=strlen($num);if($len<7){return”手机号码最低7位哦”;}…

    2022年7月22日
    14
  • 机器学习之隐马尔可夫模型

      本文主要是学习笔记,一方面是为了加强理解,感觉在做笔记过程中理解起来更简单,另一方面为了加强记忆,建立大脑关于‘隐马尔可夫模型’的神经网络1.模型场景在介绍隐马尔可夫模型

    2021年12月30日
    59
  • sendfile函數的使用[通俗易懂]

    sendfile函數的使用[通俗易懂]sendfile函數linux內核新加的函數,可以使得網絡傳輸文件時用户层无需分配缓冲区给将要传输的文件,从而能够节约内存,并直接调用系统调用#include&lt;sys/sendfile.h&gt;ssize_tsendfile(intout_fd,intin_fd,off_toffset,size_tcount);实例:#include&lt;st…

    2022年6月4日
    34

发表回复

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

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