CN108763549A - 公交线路的快速查询方法、装置、终端设备及存储介质 - Google Patents
公交线路的快速查询方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN108763549A CN108763549A CN201810553903.0A CN201810553903A CN108763549A CN 108763549 A CN108763549 A CN 108763549A CN 201810553903 A CN201810553903 A CN 201810553903A CN 108763549 A CN108763549 A CN 108763549A
- Authority
- CN
- China
- Prior art keywords
- public bus
- bus network
- matrix
- website
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Navigation (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种公交线路的快速查询方法、装置、终端设备及存储介质。本发明通过预先构建路由矩阵形式的站点直达矩阵来存储起始站点到目标站点所有可以直达的公交线路,在接收到用户触发的线路查询指令后,利用路由矩阵搜索法从该路由矩阵形式的站点直达矩阵中查找出用户输入的起始站点到目标站点的线路中满足用户要求的查找条件的公交线路,将查找到的满足查找条件的公交线路依次输出,以供用户查看,通过这种查找方式,能够在网络环境下快速查询出满足用户要求的公交线路,并推荐给用户查看,从而大大减少了用户的等待时长,提升了用户体验。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种公交线路的快速查询方法、装置、终端设备及存储介质。
背景技术
随着经济的发展,城市化的加速,特大型城市人口越来越多,城市规模越来越大,使得市民必须依靠交通工具才能方便出行。通过对市民的广泛调查发现,借助公交和地铁出行是人们的首选。因此,为了方便用户在外出时查询公交、地铁线路,智能公交查询***成为研究的热点。
目前,为了给用户带来较佳的使用体验,智能公交查询***的一个重要的研究方向就是,如何减少用户等待时间。
比如,通过预先根据已有的公交站点,计算出任意两个站点直接的公交线路,然后将计算出的结果保存到智能公交查询***的数据库中,当接收到用户输入的起始站点和目标站点后,直接根据起始站点和目标站点,从数据库中查找出对于的公交线路。
但是,上述方式仅仅适用于针对现有的公交站点的线路查询,如果用户输入的起始站点和目标站点是智能公交查询***的数据库中没有存在的站点,需要用到网络数据进行实时的动态查询时,上述方案是无法适用的。而现有的能够给予网络数据进行实时动态查询的方式,如迪杰斯特拉(Dijkstra)算法,虽然可以实现利用网络数据为用户推荐公交线路,但是其查询速度相对较慢,导致用户等待时间较长,严重影响用户体验。
因此,提供一种能够在网络环境下,根据用户输入的起始站点和目标站点快速查询出相应公交线路的方式显得尤为重要。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种公交线路的快速查询方法、装置、终端设备及存储介质,旨在解决现有技术中无法在网络环境下,根据用户输入的起始站点和目标站点快速查询出相应公交线路的技术问题。
为实现上述目的,本发明提供了一种公交线路的快速查询方法,所述方法包括以下步骤:
用户终端响应于用户触发的线路查询指令,获取用户输入的起始站点、目标站点及查找条件;
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,所述站点直达矩阵为路由矩阵,所述站点直达矩阵中存储有所述起始站点到所述目标站点所有可以直达的公交线路;
将查找到的满足所述查找条件的公交线路依次输出,以供用户查看。
优选地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
利用递归方式的路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
优选地,所述将查找到的满足所述查找条件的公交线路依次输出之前,所述方法还包括:
创建队列存储空间;
将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间;
相应地,所述将查找到的满足所述查找条件的公交线路依次输出,具体包括:
按照队列出队的方式,将查找到的满足所述查找条件的公交线路从所述队列存储空间中依次输出。
优选地,所述将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间,具体包括:
创建指针组,所述指针组包括至少一个公交线路指针域,每一个公交线路指针域存储一条公交线路;
通过所述指针组,将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间。
优选地,所述查找条件为乘车时间最短;
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中乘车时间最短的公交线路。
优选地,所述查找条件为换乘次数最少;
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中换乘次数最少的公交线路。
优选地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路之前,所述方法还包括:
将预先构建的所述站点直达矩阵从虚拟内存空间导入物理内存空间;
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
访问所述物理内存空间,利用路由矩阵搜索法,从所述站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
此外,为实现上述目的,本发明还提供了一种公交线路的快速查询装置,所述装置包括:
响应模块,用于响应于用户触发的线路查询指令;
获取模块,用于获取用户输入的起始站点、目标站点及查找条件;
查找模块,用于利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,所述站点直达矩阵为路由矩阵,所述站点直达矩阵中存储有所述起始站点到所述目标站点所有可以直达的公交线路;
输出模块,用于将查找到的满足所述查找条件的公交线路依次输出,以供用户查看。
此外,为实现上述目的,本发明还提供了一种终端设备,所述终端设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的公交线路的快速查询程序,所述公交线路的快速查询程序配置为实现所述公交线路的快速查询方法的步骤。
此外,为实现上述目的,本发明还提供了一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有公交线路的快速查询程序,所述公交线路的快速查询程序被处理器执行时实现所述公交线路的快速查询方法的步骤。
本发明通过预先构建路由矩阵形式的站点直达矩阵来存储起始站点到目标站点所有可以直达的公交线路,在接收到用户触发的线路查询指令后,利用路由矩阵搜索法从该路由矩阵形式的站点直达矩阵中查找出用户输入的起始站点到目标站点的线路中满足用户要求的查找条件的公交线路,将查找到的满足查找条件的公交线路依次输出,以供用户查看,通过这种查找方式,能够在网络环境下快速查询出满足用户要求的公交线路,并推荐给用户查看,从而大大减少了用户的等待时长,提升了用户体验。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的终端设备的结构示意图;
图2为本发明公交线路的快速查询方法第一实施例的流程示意图;
图3为本发明公交线路的快速查询方法第二实施例的流程示意图;
图4为本发明公交线路的快速查询装置的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备的结构示意图,该终端设备可以是手机、平板电脑、个人计算机等设备。
如图1所示,该终端设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、触摸屏(touch screen),输入单元比如键盘(Keyboard)、鼠标(Mouse),可选地,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对终端设备的限定,在实际应用中终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
因此,如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及公交线路的快速查询程序。
在图1所示的终端设备中,网络接口1004主要用建立终端设备与存储智能公交查询***中所需的所有数据的服务器的通信连接;用户接口1003主要用于接收用户的输入指令;所述终端设备通过处理器1001调用存储器1005中存储的公交线路的快速查询程序,并执行以下操作:
用户终端响应于用户触发的线路查询指令,获取用户输入的起始站点、目标站点及查找条件;
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,所述站点直达矩阵为路由矩阵,所述站点直达矩阵中存储有所述起始站点到所述目标站点所有可以直达的公交线路;
将查找到的满足所述查找条件的公交线路依次输出,以供用户查看。
进一步地,处理器1001可以调用存储器1005中存储的公交线路的快速查询程序,还执行以下操作:
利用递归方式的路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
进一步地,处理器1001可以调用存储器1005中存储的公交线路的快速查询程序,还执行以下操作:
创建队列存储空间;
将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间;
相应地,所述将查找到的满足所述查找条件的公交线路依次输出,具体包括:
按照队列出队的方式,将查找到的满足所述查找条件的公交线路从所述队列存储空间中依次输出。
进一步地,处理器1001可以调用存储器1005中存储的公交线路的快速查询程序,还执行以下操作:
创建指针组,所述指针组包括至少一个公交线路指针域,每一个公交线路指针域存储一条公交线路;
通过所述指针组,将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间。
进一步地,所述查找条件为乘车时间最短,处理器1001可以调用存储器1005中存储的公交线路的快速查询程序,还执行以下操作:
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中乘车时间最短的公交线路。
进一步地,所述查找条件为换乘次数最少,处理器1001可以调用存储器1005中存储的公交线路的快速查询程序,还执行以下操作:
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中换乘次数最少的公交线路。
进一步地,处理器1001可以调用存储器1005中存储的公交线路的快速查询程序,还执行以下操作:
将预先构建的所述站点直达矩阵从虚拟内存空间导入物理内存空间;
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
访问所述物理内存空间,利用路由矩阵搜索法,从所述站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
本实施通过上述方案,通过预先构建路由矩阵形式的站点直达矩阵来存储起始站点到目标站点所有可以直达的公交线路,在接收到用户触发的线路查询指令后,利用路由矩阵搜索法从该路由矩阵形式的站点直达矩阵中查找出用户输入的起始站点到目标站点的线路中满足用户要求的查找条件的公交线路,将查找到的满足查找条件的公交线路依次输出,以供用户查看,通过这种查找方式,能够在网络环境下快速查询出满足用户要求的公交线路,并推荐给用户查看,从而大大减少了用户的等待时长,提升了用户体验。
基于上述硬件结构,提出本发明公交线路的快速查询方法实施例。
参照图2,图2为本发明公交线路的快速查询方法第一实施例的流程示意图。
在第一实施例中,所述公交线路的快速查询方法包括以下步骤:
S10:用户终端响应于用户触发的线路查询指令,获取用户输入的起始站点、目标站点及查找条件。
需要说明的是,本实施中获取的用户输入的查找条件具体可以是乘车时间最短,或者换乘次数最少。
应当理解的是,以上仅为举例说明,在实际一个月中,查找条件还可以为其他内容,若查找条件为其他内容,则后续用户的站点直达矩阵需要相应的改为与之对应的矩阵,具体的本领域的技术人员可以根据需要进行设置,此次不做限制。
S20:利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
应当理解的是,在具体实现中,任意两个站点,比如站点A和站点B,如果存在线路L均经过这两个站点,我们就称这两个站点是可互相直达的,否则不可直达。通过研究发现,在具体应用中满足同时经过站点A和站点B条件的线路往往不止一条,因此通过将站点A和站点B之间所有能够给直达的线路构建而成的矩阵,便是站点直达矩阵。
因而,本实施例中所说的站点直达矩阵中存储的则是所述起始站点到所述目标站点所有可以直达的乘车方案。
此外,需要说明的是,由于本实施中采用的搜索法为路由矩阵搜索法,因而为了配合该方法能够更加顺利使用,所述站点直达矩阵具体为路由矩阵。
关于路由矩阵的构建,本领域的技术人员可以结合现有的文档实现,此处不再赘述,也不做限制。
此外,需要说明的是,若步骤S10中获取的用户输入的查找条件为换乘时间最短,则所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体为:利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中乘车时间最短的公交线路。
若步骤S10中获取的用户输入的查找条件为换乘次数最少,则所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体为:利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中换乘次数最少的公交线路。
此外,值得一提的是,在具体实现中,为了使检索工作更加简单,从而提升查询速度,在利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路时,具体可以采用递归方式的路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
需要说明的是,以上给出的仅仅为一种的具体的实现方式,在具体实现中,本领域的技术人员可以根据需要来设置,此处不做限制。
S30:将查找到的满足所述查找条件的公交线路依次输出,以供用户查看。
具体的说,为了便于维护和管理查找到的众多公交线路,在将查找到的满足所述查找条件的公交线路依次输出之前,可以先创建一个队列存储空间,即该存储空间是以队列的形式进行后续数据的读取。在创建好该队列存储空间后,若查找到满足查找条件的公交线路,则将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间,同时在存储公交线路的时候,还可以将每一条公交线路中包含的站点及各站点对应的相关信息存储到队列存储空间。
相应地,述将查找到的满足所述查找条件的公交线路依次输出,具体变为:按照队列出队的方式,即先进先出的方式,将查找到的满足所述查找条件的公交线路从所述队列存储空间中依次输出。
此外,为了便于将查查到的公交线路存储到队列存储空间中,可以通过创建指针组,然后利用创建的指针组,将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间。
需要说明的是,上述创建的指针组需要包括至少一个公交线路指针域,其中,每一个公交线路指针域存储一条公交线路,这样就可以在查找到的公交线路为多条时,就可以根据公交线路各自对应的指针域,准确且快速的存储到队列存储空间中。
为了更加形象的体现出本实施例中提供的公交线路的查询方案较现有的查询方案更快更好,以下分别针对采用Dijkstra算法搜索起始站点到目标站点间的最佳公交线路(换乘次数最少或乘车时间最短)、改进后的Dijkstra算法搜索起始站点到到目标站点间的最佳公交线路,以及本案中提供的利用路由矩阵搜索法搜索起始站点到到目标站点间的最佳公交线路的实现方式进行对比说明:
1、采用Dijkstra算法搜索起始站点到目标站点间的最佳公交线路
1.1采用Dijkstra算法搜索起始站点到目标站点间乘车时间最短的公交线路,其大致思路为:先从起始站点出发,搜索出起始站点到其他所有站点所花时间最短的公交线路;然后,从目标站点出发,通过使用栈的方法搜索到从起始站点到目标站点的乘车时间最短的公交线路。为了便于理解,一下进行详细说明:
(1)di=cbegin,i,i=1,2,…,begin-1,begin+1,…,n;begin表示起始站点,di表示从起始站点begin到站点i能够到达的最少站点数,cbegin,i表示起始站点begin的站点最少直达矩阵。
(2)如果站点直达矩阵di≠∞,则起始站点begin是站点i的前驱,即前驱站点prei=begin;否则,站点i没有前驱,即前驱站点prei=0。其中,i=1,2,…,begin-1,begin+1,…,n。
(3)令si=0,i=1,2,…,n。表示目前所有的站点都没有被选择。
(4)令dp=0和sp=1,表示站点vi被访问;dp表示当前访问的站点为起始站点,sp=1表示站点P被选择,接下来的搜索操作不会在访问该站点。
(5)令i=1。
(6)令栈tp=∞。
(7)如果和sq=0并且满足sq=min{dj},那么令sq=1;q表示在没有被访问的站点中,一个到起始站点最少的站点数。
(8)如果j∈{1,2,…,n}且sj=0,cqj<∞,Sq=1,dq+cqj<dj,则dj=cqj+dq和前驱站点prej=0;sj表示站点j未被访问,cqj表示从站点q到站点j能够直达的最少站点数,dq表示当前访问的站点为站点q,dj表示当前访问的站点为站点j。
(9)执行i=i+1;
(10)如果i<n,则返回步骤(6)重复计算;
(11)从目标站点end出发,通过搜索前驱站点prei,将整个线路中的站点保存在栈tp中。
(12)通过访问栈tp的方式,得到满足要求的从起始站点begin到目标站点end的最优线路,即乘车时间最短的公交线路。
从以上的步骤可以看出,该方法可以求出起始站点到其它任意站点乘车时间最短的公交线路。因此,该方法可以求出n-1条起始站点为begin而目标站点各不相同的最佳线路,而此处需要得到的只是其中的一条目标站点为end的线路而已,因此查询时间较慢。
1.2采用Dijkstra算法搜索起始站点到目标站点间换乘次数最少的公交线路,其大致思路为:先从起始站点出发,搜索出起始站点到其他所有站点换乘次数最少的公交线路;然后,从目标站点出发,通过使用栈的方法搜索到从起始站点到目标站点的换乘次数最少的公交线路。
需要说明的是,采用Dijkstra算法搜索起始站点到目标站点间换乘次数最少的公交线路的具体方式,与求乘车时间最短的公交线路的方式大致相同,此处不再赘述,本领域的技术人员可以参考上述方式进行修改,获的起始站点到到目标站点间换乘次数最少的公交线路。
2、采用改进后的Dijkstra算法搜索起始站点到目标站点间的最佳公交线路
2.1采用改进后的Dijkstra算法搜索起始站点到目标站点间乘车时间最短的公交线路,其大致思路为:先从起始站点出发,搜索出起始站点到其他所有站点所花时间最短的公交线路,一旦搜索到起始站点到目标站点的乘车时间最短的公交线路,就停止搜索;然后,从目标站点出发,通过使用栈的方法搜索到从起始站点到目标站点的乘车时间最短的公交线路。
具体的说,由于利用改进后的Dijkstra算法搜索起始站点到目标站点间乘车时间最短的公交线路,实质上仍然是利用Dijkstra算法,因此大致实现步骤是相同的,主要区别,即改进之处为,在执行步骤(9)之前,增加了一步操作,具体如下:
判断q是否等于end,如果q=end,则跳到步骤(11),执行从目标站点end出发,通过搜索前驱站点prei,将整个线路中的站点保存在栈tp中的操作;否则,才会进入步骤(9),执行i=i+1的操作。
从上述改进算法可以看出,通过判断q是否等于end,并根据判断结果进行后续操作可以减少算法的计算量。因为,一旦得到目标站点为end的最优解,就立即停止搜索。上述算法改进的原因很简单,因为接下来的搜索与本次的最优解搜索没有任何关系。因此,改进方法可以在一定程度上减少最优解的搜索时间,从而提高了查询速度。
2.2采用改进后的Dijkstra算法搜索起始站点到目标站点间换乘次数最少的公交线路,其大致思路为:先从起始站点出发,搜索出起始站点到其他所有站点换乘次数最少的公交线路,一旦搜索到起始站点到目标站点的乘车时间最短的公交线路,就停止搜索;然后,从目标站点出发,通过使用栈的方法搜索到从起始站点到目标站点的换乘次数最少的公交线路。
需要说明的是,采用改进后的Dijkstra算法搜索起始站点到目标站点间换乘次数最少的公交线路的具体方式,与求乘车时间最短的公交线路的方式大致相同,此处不再赘述,本领域的技术人员可以参考上述方式进行修改,获的起始站点到到目标站点间换乘次数最少的公交线路。
3、采用本案中提供的利用路由矩阵搜索法搜索起始站点到目标站点间的最佳公交线路
3.1采用本案中提供的利用路由矩阵搜索法搜索起始站点到目标站点间乘车时间最短的公交线路,其大致思路为:先用递归方式的路由矩阵搜索法,搜索出从起始站点到目标站点乘车时间最短的公交线路,并将搜索到的站点信息保存到队列中;然后,通过队列出队的方式输出从起始站点到目标站点的公交线路。为了便于理解,一下进行详细说明:
设路由矩阵搜索法中的递归函数为find(r,i,j),其中,r表示路由矩阵,i和j分别表示路由矩阵r的站点,则搜索过程如下:
步骤1:如果rij≠0,则函数find(r,i,j)的递归过程如下:
(1)站点k=rij,其中,rij表示从站点i到站点j,换乘的站点;
(2)递归执行find(r,i,k);
(3)将站点k保存在队列中;
(4)递归执行find(r,k,j)。
步骤2:输出队列中的站点,即可得到最优线路。
从上述方法可以看出,其比较次数都在10次以下,从而大大提高查询速度。如果寻找换乘次数最优,其比较次数一般不会超过4次。如果寻找乘车时间最优,一般不会超过8次。
3.2采用本案中提供的利用路由矩阵搜索法搜索起始站点到目标站点间换乘次数最少的公交线路,其大致思路为:先用递归方式的路由矩阵搜索法,搜索出从起始站点到目标站点换乘次数最少的公交线路,并将搜索到的站点信息保存到队列中;然后,通过队列出队的方式输出从起始站点到目标站点的公交线路。
需要说明的是,采用本案中提供的利用路由矩阵搜索法搜索起始站点到到目标站点间换乘次数最少的公交线路的具体方式,与求乘车时间最短的公交线路的方式大致相同,此处不再赘述,本领域的技术人员可以参考上述方式进行修改,获的起始站点到目标站点间换乘次数最少的公交线路。
为了更加形象的看出查找速度的不同,以下进行举例说明:
假设,公交***中共有3957个站点,用上面介绍的3种方法进行查询速度的测试。
测试的笔记本电脑运行环境如下:
(1)软件环境:WindowV7旗舰版(版本);
(2)***类型:32位操作***;
(3)硬件配置:Intel(R)Core(TM)i3,M380@253GHZ(CPU),2.00G(内存)。
先用三种方法测试查找乘车时间最短的公交线路,其查询时间如表1所示。
表1不同方法搜索相同的乘车时间最短的公交线路所花时间比较
用三种方法测试查找换乘次数最少的公交线路,其查询时间如表2所示。表2不同方法搜索相同的换乘次数最少的公交线路所花时间比较
从表1和表1中的算法测试结果可以看出,在最优公交线路查询时,改进的Dijkstra算法比Dijkstra算法在查询速度上有一定程度的提高。然而,路由矩阵搜索法与Dijkstra算法及其改进算法相比,所花的时间简直可以忽略不计。
需要说明的是,以上仅为举例说明,在实际应用中,计算结果会因查找的公交线路以及设备的配置有所差异,因而上述描述并不构成对本发明技术方案的任何限定,本领域的技术人员在具体实现中可以根据需要选择合适的设备进行试验,此处不做限制。
通过上述描述不难发现,本实施例中提供的公交线路的快速查询方法,通过预先构建路由矩阵形式的站点直达矩阵来存储起始站点到目标站点所有可以直达的公交线路,在接收到用户触发的线路查询指令后,利用路由矩阵搜索法从该路由矩阵形式的站点直达矩阵中查找出用户输入的起始站点到目标站点的线路中满足用户要求的查找条件的公交线路,将查找到的满足查找条件的公交线路依次输出,以供用户查看,通过这种查找方式,能够在网络环境下快速查询出满足用户要求的公交线路,并推荐给用户查看,从而大大减少了用户的等待时长,提升了用户体验。
进一步地,如图3所示,基于第一实施例提出本发明公交线路的快速查询方法的第二实施例,在本实施例中,在利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路之前,需要先将预先构建的所述站点直达矩阵从虚拟内存空间导入物理内存空间,即在步骤S20之前新增了步骤S00,详见图3。
在步骤S00中:将预先构建的所述站点直达矩阵从虚拟内存空间导入物理内存空间。
相应地,将步骤S20替换为S20':访问所述物理内存空间,利用路由矩阵搜索法,从所述站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
应当理解的是,在实际应用中,预先构建的站点直达矩阵是存储在管理智能公交查询***中所有数据的服务器(物理服务器或云服务器),因此,本实施例为了在根据用户触发的线路查询指令进行线路查询时,能够缩短数据的导入时间,可以在用户终端响应于用户触发的线路查询指令之前,就先一步将站点直达矩阵从外部存储空间导入服务器或者用户终端中开辟的虚拟内存空间中,从而在利用路由矩阵搜索法进行搜索操作之前,就可以快速的将站点直达矩阵从虚拟内存空间导入物理内存空间,从而有效提升公交线路的查询速度。
此外,值得一提的是,本实施例中所说的在所述用户终端响应于用户触发的线路查询指令之前,执行将站点直达矩阵从外部存储空间导入虚拟内存空间的操作,具体可以是在用户启动用户终端上的智能公交查询***,比如点击用户终端操作界面上的智能公交查询***应用程序的图标,或者在浏览器中输入智能公交查询***的访问地址时,触发用户终端中预存的数据请求指令,从智能公交查询***的服务器的磁盘(即外部存储空间)中获取预先构建的站点直达矩阵,并将该站点直达矩阵存储到基于用户终端的操作***预先构建的虚拟内存空间中。
此外,在具体实现中,为了避免站点直达矩阵的重复导入,在将预先构建的站点直达矩阵从外部存储空间导入虚拟内存空间之前,可以先判断一下虚拟内存空间中是否已经存储有站点直达矩阵。
相应地,所述将站点直达矩阵从外部存储空间导入虚拟内存空间的操作,具体为在虚拟内存空间中未存储有站点直达矩阵时,才执行。
需要说明的是,以上仅为举例说明,在实际应用中,本领域的技术人员可以根据需要合理设置,此处不做限制。
通过上述描述不难发现,本实施例提供的公交线路的快速查询方法,在利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出起始站点到目标站点的线路中满足查找条件的公交线路之前,通过将预先构建的所述站点直达矩阵从虚拟内存空间导入物理内存空间中,从而可以在用户使用智能公交查询***进行线路查询时,能够直接将最少站点直达矩阵从处理速度较快的虚拟内存空间中导入处理速度最快的物理内存空间中,使得公交线路的查询操作能够更加快速的执行,从而进一步减少了用户的等待时长,使得用户体验更佳。
此外,本发明实施例还提出一种公交线路的快速查询装置。
如图4所示,该公交线路的快速查询装置包括:响应模块4001、获取模块4002、查找模块4003、输出模块4004。
其中,响应模块4001,用于响应于用户触发的线路查询指令。获取模块4002,用于获取用户输入的起始站点、目标站点及查找条件。查找模块4003,用于利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。输出模块4004,用于将查找到的满足所述查找条件的公交线路依次输出,以供用户查看。
应当理解的是,在具体实现中,任意两个站点,比如站点A和站点B,如果存在线路L均经过这两个站点,我们就称这两个站点是可互相直达的,否则不可直达。通过研究发现,在具体应用中满足同时经过站点A和站点B条件的线路往往不止一条,因此通过将站点A和站点B之间所有能够给直达的线路构建而成的矩阵,便是站点直达矩阵。
相应地,本实施例中所说的站点直达矩阵中存储的则是所述起始站点到所述目标站点所有可以直达的乘车方案。
此外,需要说明的是,由于本实施中采用的搜索法为路由矩阵搜索法,因而为了配合该方法能够更加顺利使用,所述站点直达矩阵具体为路由矩阵。
关于路由矩阵的构建,本领域的技术人员可以结合现有的文档实现,此处不再赘述,也不做限制。
通过上述描述不难发现,本实施例中提供的公交线路的快速查询装置,通过预先构建路由矩阵形式的站点直达矩阵来存储起始站点到目标站点所有可以直达的公交线路,在接收到用户触发的线路查询指令后,利用路由矩阵搜索法从该路由矩阵形式的站点直达矩阵中查找出用户输入的起始站点到目标站点的线路中满足用户要求的查找条件的公交线路,将查找到的满足查找条件的公交线路依次输出,以供用户查看,通过这种查找方式,能够在网络环境下快速查询出满足用户要求的公交线路,并推荐给用户查看,从而大大减少了用户的等待时长,提升了用户体验。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的公交线路的快速查询方法,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有公交线路的快速查询程序,所述公交线路的快速查询程序被处理器执行时实现如下操作:
用户终端响应于用户触发的线路查询指令,获取用户输入的起始站点、目标站点及查找条件;
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,所述站点直达矩阵为路由矩阵,所述站点直达矩阵中存储有所述起始站点到所述目标站点所有可以直达的公交线路;
将查找到的满足所述查找条件的公交线路依次输出,以供用户查看。
进一步地,所述公交线路的快速查询程序被处理器执行时还实现如下操作:
利用递归方式的路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
进一步地,所述公交线路的快速查询程序被处理器执行时还实现如下操作:
创建队列存储空间;
将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间;
相应地,所述将查找到的满足所述查找条件的公交线路依次输出,具体包括:
按照队列出队的方式,将查找到的满足所述查找条件的公交线路从所述队列存储空间中依次输出。
进一步地,所述公交线路的快速查询程序被处理器执行时还实现如下操作:
创建指针组,所述指针组包括至少一个公交线路指针域,每一个公交线路指针域存储一条公交线路;
通过所述指针组,将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间。
进一步地,所述查找条件为乘车时间最短,所述公交线路的快速查询程序被处理器执行时还实现如下操作:
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中乘车时间最短的公交线路。
进一步地,所述查找条件为换乘次数最少,所述公交线路的快速查询程序被处理器执行时还实现如下操作:
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中换乘次数最少的公交线路。
进一步地,所述公交线路的快速查询程序被处理器执行时还实现如下操作:
将预先构建的所述站点直达矩阵从虚拟内存空间导入物理内存空间;
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
访问所述物理内存空间,利用路由矩阵搜索法,从所述站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种公交线路的快速查询方法,其特征在于,所述方法包括以下步骤:
用户终端响应于用户触发的线路查询指令,获取用户输入的起始站点、目标站点及查找条件;
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,所述站点直达矩阵为路由矩阵,所述站点直达矩阵中存储有所述起始站点到所述目标站点所有可以直达的公交线路;
将查找到的满足所述查找条件的公交线路依次输出,以供用户查看。
2.如权利要求1所述的方法,其特征在于,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
利用递归方式的路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
3.如权利要求2所述的方法,其特征在于,所述将查找到的满足所述查找条件的公交线路依次输出之前,所述方法还包括:
创建队列存储空间;
将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间;
相应地,所述将查找到的满足所述查找条件的公交线路依次输出,具体包括:
按照队列出队的方式,将查找到的满足所述查找条件的公交线路从所述队列存储空间中依次输出。
4.如权利要求3所述的方法,其特征在于,所述将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间,具体包括:
创建指针组,所述指针组包括至少一个公交线路指针域,每一个公交线路指针域存储一条公交线路;
通过所述指针组,将查找到的满足所述查找条件的公交线路,依次存储到所述队列存储空间。
5.如权利要求1至4任一项所述的方法,其特征在于,所述查找条件为乘车时间最短;
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中乘车时间最短的公交线路。
6.如权利要求1至4任一项所述的方法,其特征在于,所述查找条件为换乘次数最少;
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中换乘次数最少的公交线路。
7.如权利要求1至4任一项所述的方法,其特征在于,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路之前,所述方法还包括:
将预先构建的所述站点直达矩阵从虚拟内存空间导入物理内存空间;
相应地,所述利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,具体包括:
访问所述物理内存空间,利用路由矩阵搜索法,从所述站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路。
8.一种公交线路的快速查询装置,其特征在于,所述装置包括:
响应模块,用于响应于用户触发的线路查询指令;
获取模块,用于获取用户输入的起始站点、目标站点及查找条件;
查找模块,用于利用路由矩阵搜索法,从预先构建的站点直达矩阵中查找出所述起始站点到所述目标站点的线路中满足所述查找条件的公交线路,所述站点直达矩阵为路由矩阵,所述站点直达矩阵中存储有所述起始站点到所述目标站点所有可以直达的公交线路;
输出模块,用于将查找到的满足所述查找条件的公交线路依次输出,以供用户查看。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的公交线路的快速查询程序,所述公交线路的快速查询程序配置为实现如权利要求1至7任一项所述的公交线路的快速查询方法的步骤。
10.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有公交线路的快速查询程序,所述公交线路的快速查询程序被处理器执行时实现如权利要求1至7任一项所述的公交线路的快速查询方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810553903.0A CN108763549A (zh) | 2018-05-31 | 2018-05-31 | 公交线路的快速查询方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810553903.0A CN108763549A (zh) | 2018-05-31 | 2018-05-31 | 公交线路的快速查询方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108763549A true CN108763549A (zh) | 2018-11-06 |
Family
ID=64001880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810553903.0A Pending CN108763549A (zh) | 2018-05-31 | 2018-05-31 | 公交线路的快速查询方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108763549A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726262A (zh) * | 2019-01-10 | 2019-05-07 | 武汉轻工大学 | 公交线路的查询方法、装置、终端设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040111280A1 (en) * | 2001-06-12 | 2004-06-10 | Fujitsu Limited | Method of providing vehicle information and vehicle information providing program |
CN1598489A (zh) * | 2004-09-14 | 2005-03-23 | 南京嘉哇科技有限公司 | 公共交通资源导航的方法和*** |
CN1629839A (zh) * | 2003-12-15 | 2005-06-22 | 郭杰 | 公交换乘查询*** |
CN101242583A (zh) * | 2008-03-05 | 2008-08-13 | 青岛海信移动通信技术股份有限公司 | 公交换乘查询***、移动通信终端及公交换乘查询方法 |
CN102880642A (zh) * | 2012-08-20 | 2013-01-16 | 浙江工业大学 | 一种基于加权有向网络模型的公交换乘方法 |
CN102982395A (zh) * | 2012-11-28 | 2013-03-20 | 浙江工业大学 | 一种基于空间节点聚类方法的快速公交换乘方法 |
CN103853783A (zh) * | 2012-12-06 | 2014-06-11 | 山东省计算中心 | 一种公交换乘查询方法 |
-
2018
- 2018-05-31 CN CN201810553903.0A patent/CN108763549A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040111280A1 (en) * | 2001-06-12 | 2004-06-10 | Fujitsu Limited | Method of providing vehicle information and vehicle information providing program |
CN1629839A (zh) * | 2003-12-15 | 2005-06-22 | 郭杰 | 公交换乘查询*** |
CN1598489A (zh) * | 2004-09-14 | 2005-03-23 | 南京嘉哇科技有限公司 | 公共交通资源导航的方法和*** |
CN101242583A (zh) * | 2008-03-05 | 2008-08-13 | 青岛海信移动通信技术股份有限公司 | 公交换乘查询***、移动通信终端及公交换乘查询方法 |
CN102880642A (zh) * | 2012-08-20 | 2013-01-16 | 浙江工业大学 | 一种基于加权有向网络模型的公交换乘方法 |
CN102982395A (zh) * | 2012-11-28 | 2013-03-20 | 浙江工业大学 | 一种基于空间节点聚类方法的快速公交换乘方法 |
CN103853783A (zh) * | 2012-12-06 | 2014-06-11 | 山东省计算中心 | 一种公交换乘查询方法 |
Non-Patent Citations (1)
Title |
---|
朱文轩: "智能公交查询***的设计与实现", 《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726262A (zh) * | 2019-01-10 | 2019-05-07 | 武汉轻工大学 | 公交线路的查询方法、装置、终端设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255958A (zh) | 数据查询方法、装置和存储介质 | |
CN104331465B (zh) | 移动终端的搜索方法及装置 | |
CN110096584B (zh) | 一种应答方法和装置 | |
CN104462113A (zh) | 搜索方法、装置及电子设备 | |
WO2013102262A1 (en) | Goal-oriented user matching among social networking environments | |
CN109408696A (zh) | 一种用于搜索寄宿程序的方法与设备 | |
CN102231152B (zh) | 基于移动终端ip地址进行精确查询的搜索方法 | |
CN102929876A (zh) | 一种搜索方法、装置和*** | |
CN109933708A (zh) | 信息检索方法、装置、存储介质及计算机设备 | |
CN109359237A (zh) | 一种用于搜索寄宿程序的方法与设备 | |
CN107590123A (zh) | 车载中地点上下文指代消解方法及装置 | |
CN107291337A (zh) | 一种提供业务访问的方法及装置 | |
CN102999513B (zh) | 基于地理位置服务搜索的信息展示方法和装置 | |
US20150127641A1 (en) | Method and system for searching on mobile terminal | |
JP6648283B2 (ja) | 人工知能ベースの関連度計算を用いたノート提供方法及び装置 | |
CN111400465A (zh) | 客服机器人的生成方法、装置、电子设备及介质 | |
CN105138649A (zh) | 数据的搜索方法、装置及终端 | |
CN102214182A (zh) | 一种根据ip地址进行精确查询的搜索方法 | |
CN108509659A (zh) | 乘车方案的推荐方法、装置、终端设备及可读存储介质 | |
WO2019082015A1 (en) | SEARCH ENGINE OPTIMIZATION TECHNIQUES | |
CN109684562A (zh) | 一种搜索方法和装置 | |
CN109446417A (zh) | 一种智能化检索方法和装置 | |
CN108763518A (zh) | 乘车方案的推荐方法、装置、终端设备及可读存储介质 | |
CN108763549A (zh) | 公交线路的快速查询方法、装置、终端设备及存储介质 | |
CN108629456A (zh) | 公交数据的读取方法、装置、终端设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181106 |