gis 寻路 算法 java_这是一个真正靠谱的寻路算法

本文介绍了GIS寻路算法,从A*算法的基础原理出发,探讨了在遇到复杂障碍时如何避免陷入死循环。作者提出采用广度优先搜索的思想,模拟人类接近目标的行为,通过组织数据结构避免交叉和循环遍历的错误。最后,通过源码展示了算法的实现,并指出不同环境应选择不同的搜索策略,如空旷环境更适合深度搜索。
摘要由CSDN通过智能技术生成

绝对没有其他看起来高大上 给别人讲都将不明白的理论。管你 人工智能 啥的 ,还有一百度一大篇的a*算法 ,其实大部分文章的理论都是讲不通的 或者没有讲清楚 更别说代码。做事刨根问底的牛脾气又上来了。

两周前 偶然原因接触到了寻路算法 于是百度 找到了a* 。讲来将去大概意思就是持续性的找离目标近的节点 并且走过的节点不能重复走。反正百度搜a*算法 一搜一大片。在很简单的障碍的情况下是没问题 :

c19d777314e35c5b4361caf5f0dca4d4.png

但是拐个弯就不行了,不是找最近的么,我让你一直找最近的。 直接迂在里面出不来了:

f44f30ded948a140227a2a41f9e60bbd.png

期间我曾经想过为什么不让旁边的叶子节点继续开枝散叶 继续寻找呢。当时就觉得这种方式是可行的。因为起点跟终点我们始终在同一个能够联通的领域嘛 我就像水一样不断的蔓延不断的蔓延到你那去。始终是能到达的。这可能就是网上说的所谓的广度搜索。节点 又继续节点 当时就想到递归嘛,没想到粗糙的用递归 把我自己给绕进去了 。本身是一个树状结构。哪些节点遍历了 哪些没有遍历 容易形成交叉 或者死循环 。最终要形成一个线性的遍历流程 。 程序要有一个严密的理论基础 ,如果达不到这一点随便怎么倒腾始终会崩溃的。就在这个问题上我遇到了瓶颈,始终不能解决 ,因为自己太菜了 处理不好这种数据结构。在最近两天看数据结构二叉树那一部分的时候 看到了 那

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值