再议公交查询算法

再议公交查询算法

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

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

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


相关推荐

  • 【SSH学习】

    【SSH学习】什么是SSH?简单说,SSH是一种网络协议(安全外壳协议),用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。SSH之所以能够保证安全,原因在于它采用了公钥加密。整个过程是这样的:(1)远程主机收到用户的登录请求,把自己的公钥发给用户(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。SSH基本用法1.SSH远程登陆

    2022年6月24日
    26
  • 回归分析模型推广_案例分析的意义

    回归分析模型推广_案例分析的意义这个项目呢,就不需要我们做很多的数据清洗的工作了,因为我们手里的数据基本已经做好数据清洗了,我们主要需要做的就是数据可视化和文本挖掘工作。下面我们来一一介绍一下。目录1业务背景1.1分析流程概述1.2市场分类1.3产品生命周期1.4产品结构-波士顿矩阵(BCGMatrix)1.5处理项目需求的基本思路1.6项目需求例子1.7项目背景&产品架构1.8数据说明2驱虫市场的潜力分析2.1分析目的&加载数据2.1.1分析目的2.1.2加载数据2.2清洗&补全数

    2022年10月2日
    1
  • haoxav.com forum.php,www.wwwhaoav17com.us

    haoxav.com forum.php,www.wwwhaoav17com.usDomainName:WWWHAOAV17COM.USDomainID:D58643421-USSponsoringRegistrar:TODAYNIC.COM,INC.SponsoringRegistra…

    2022年4月29日
    77
  • matlab as(assert dominance)

    目录一.语法1.输入参数二.说明三.示例1.值在预期范围之内2.期望的数据类型3.预期的代码执行情况assert是条件为false时引发错误。一.语法assert(cond)assert(cond,msg)assert(cond,msg,A1,…,An)assert(cond,errID,msg)assert(cond,errID,msg,A1,…,An)1.输入参数cond-断言条件MATLAB表达式..

    2022年4月15日
    40
  • Android Protobuf应用及原理「建议收藏」

    Android Protobuf应用及原理

    2022年3月13日
    41
  • 字符串转整型c#_java字符串数组转字符串

    字符串转整型c#_java字符串数组转字符串在C++11中增加了string的字符串以及整数之间的转换函数标准增加了全局函数。std::to_stringstd::stoistd::stolstd::stoll用来将整型转换为字符串for(size_ti=0;i<14;i++){ stringfileName=”chID”+std::to_string(i)+”.hex”;}…

    2022年10月19日
    2

发表回复

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

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