再议公交查询算法

再议公交查询算法

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

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

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>

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 解决verycd上不能下载资源的问题

    解决verycd上不能下载资源的问题以下内容为转载:当时在verycd上搜索资料,但是下载不了,忽然看到这一篇文章,试了以下,果然可以下载。顺便记下以便后续使用。唉,我真的挺喜欢verycd的,好多好好的资源哟,尤其是杂志啊、设计素材

  • 多封装,少开放。强烈建议C++标准添加class之间的注入机制「建议收藏」

    多封装,少开放。强烈建议C++标准添加class之间的注入机制

  • word中行与行间距大

    word中行与行间距大word中设置了行间距,但还是显示距离过大。如下图,删除段前间距和段后间距

  • 4g融合指的是什么_天翼网关3

    4g融合指的是什么_天翼网关3小草科技推出融合通信新产品系列——多网融合多路聚合今天,深圳小草信息科技有限公司发布了系列新产品,以解决当前移动互联网网络不稳定带宽不够、安全性差等问题。智能融合通信将有线与多路无线智能融合成为一路通道,并聚合多个通道形成一个大容量通道,实现大数据在一个聚合通道中的传输。加载自有协议,安全、快速、稳定的传送数据至云端,提供安全稳定的宽带传输通道,确保业务永不中断。1,MNF-410…

  • REST API和SOAP API之间的区别

    REST API和SOAP API之间的区别TheRepresentationalStateTransfer(REST)架构风格不是可以购买的技术,也不是可以添加到软件开发项目中的库。REST是一种世界观,将信息提升为我们构建的体系结构的第一流元素。RoyFielding博士的论文“架构风格和基于网络的软件架构设计”介绍并整理了用于描述“RESTful”系统的思想和术语。这是一份学术文件,但通过提供RESTful架构的基础,可…

  • redis 乐观锁_什么时候用乐观锁

    redis 乐观锁_什么时候用乐观锁文章目录GeospatialHyperloglogBitmapsRedis事务悲观锁和乐观锁JedisSpringboot继承RedisGeospatial存储地理位置的数据结构应用场景朋友的定位,附近的人,打车距离计算Geospatial底层使用的是Zset127.0.0.1:6379> geoadd city 116.23 40.22 beijing 添加一个数据127.0.0.1:6379> geoadd city 121.47 31.23 shanghai 118.77

发表回复

您的电子邮箱地址不会被公开。

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