[发明专利]一种基于A*算法的路径搜索方法、设备及计算终端有效
申请号: | 201710534025.3 | 申请日: | 2014-12-02 |
公开(公告)号: | CN107247805B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 罗响 | 申请(专利权)人: | 厦门飞游信息科技有限公司 |
主分类号: | G06F16/29 | 分类号: | G06F16/29;G06F16/9537;G06F16/901;G06Q10/04 |
代理公司: | 北京思睿峰知识产权代理有限公司 11396 | 代理人: | 谢建云;赵爱军 |
地址: | 361005 福建省*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 算法 路径 搜索 方法 设备 计算 终端 | ||
本发明公开了一种基于A*算法的路径搜索方法,适于在计算设备中执行,该地图包括具有多个节点的阵列,该计算设备包括列表存储器,该列表存储器中存储有开启列表及删除列表,该方法包括步骤:判断阵列中节点的数量是否小于预定值,如果确定该阵列中节点的数量小于预定值,则将开启列表建成双向链表;监控阵列,获取路径搜索的开始节点及目标节点,并将开始节点加入双向链表;删除双向链表表头的节点,且将删除的双向链表表头的节点加入删除列表;以及判断所删除的双向链表表头的节点是否为目标节点,如果删除的双向链表表头的节点为目标节点,则继续监控阵列。本发明还提供了一种路径搜索设备及包括根据本发明的路径搜索设备的计算设备。
本申请是本申请人于2014年12月2日提交的申请号为201410720889.0,名称为一种基于A*算法的地图寻路方法、设备及计算终端的发明专利申请的分案申请。
技术领域
本发明涉及电子地图领域,尤其涉及一种基于A*算法的路径搜索方案。
背景技术
目前,越来越多的软件和应用都需要生成并向用户呈现地图以便实现某种功能。例如,在游戏软件应用中,计算设备(如台式计算机、笔记本计算机及其他智能终端)需要生成游戏场景地图。在该地图中,游戏玩家控制的角色以及非玩家控制的角色需要按照一定的路径进行移动,因此会涉及到地图中路径搜索以对路线选择并且避开障碍点。除了在游戏中需要进行路径搜索之外,一些涉及路径的应用中也需要使用路径搜索方案。在多种路径搜索应用方案中,所涉及的A*算法是一种启发式搜索算法。在应用A*算法的路径搜索方案中,会对地图中的多个节点进行判断。在寻路过程中,会不断将未判断的节点加入一个列表,即开启列表,而将已经判断过的节点加入到另一个列表,即删除列表。在寻路过程中会不断的对开启列表进行操作,包括了节点的插入、排序和检索等。
根据开启列表中数据和各种操作的特点,需要对开启列表的数据结构以及插入、排序等操作进行控制,以便降低操作的时间复杂度。现有的方案中多利用二叉堆方法对开启列表进行操作。然而,由于二叉堆在实现上比较复杂,处理难度较高,因此在地图节点较少时,采用二叉堆的操作方式则性价比较低。
因此,需要一种新路径搜索方案,能够对地图进行判断,并当地图节点较少时,以更高的操作效率进行寻路。
发明内容
为此,本发明提供一种新的方案以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种基于A*算法的路径搜索方法,适于在计算设备中执行,该路径搜索的地图包括具有多个节点的阵列,该计算设备包括列表存储器,该列表存储器中存储有开启列表及删除列表,该开启列表包括待寻路检测的节点,该删除列表包括从开启列表中删除的节点。
该方法包括步骤,判断所述阵列中节点的数量是否小于预定值,如果确定该阵列中节点的数量小于预定值,则将所述开启列表建成双向链表;监控所述阵列,获取路径搜索的开始节点及目标节点,并将所述开始节点加入所述双向链表;删除该双向链表表头的节点,且将所删除的双向链表表头的节点加入删除列表;以及判断所删除的双向链表表头的节点是否为目标节点,如果所述删除的双向链表表头的节点为目标节点,则继续监控所述阵列,如果该删除的双向链表表头的节点不是目标节点,则获取该删除的双向链表表头的节点周围满足预定条件的节点,并将所获取满足所述预定条件的节点加入所述双向链表;以及继续删除该双向链表表头的节点,且将所删除的双向链表表头的节点加入删除列表。
可选地,在根据本发明的路径搜索方法中,获取删除的双向链表表头的节点周围满足所述预定条件的节点的步骤包括,获取删除的所述双向链表表头的节点能直接到达、不属于所述删除列表且非障碍的节点。
可选地,根据本发明的路径搜索方法还包括步骤,当确定所述删除的双向链表表头的节点为目标节点时,根据所述删除列表中的节点获取所述开始节点与所述目标节点之间的最短路径。
可选地,在根据本发明的路径搜索方法中,预定值的范围为1000。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门飞游信息科技有限公司,未经厦门飞游信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710534025.3/2.html,转载请声明来源钻瓜专利网。