-
广度优先遍历
-
从终点向四周蔓延直到搜索到终点
-
-
1.基本用途
A* 算法是一种用于解决图论中的路径搜索问题的常见算法。它在许多应用中都有广泛的应用,其中包括但不限于:
路径规划:A* 算法可用于寻找最短路径或最佳路径,例如在地图应用中寻找两个地点之间的最短路径,或在机器人导航中规划机器人的移动路径。
游戏开发:A* 算法可用于实现游戏中的智能角色的路径搜索,例如实现电脑控制的角色在游戏地图中寻找最佳路径以达到目标。
自动驾驶:在自动驾驶汽车中,A* 算法可以用于规划车辆的行驶路径,避开障碍物并优化驾驶路线。
机器人导航:A* 算法可用于实现机器人或机器人车辆的路径规划,使其能够在未知环境中自主移动,并找到到达目标的最佳路径。
资源分配:在一些资源分配问题中,如任务分配或货物运输,A* 算法可以用于优化资源的利用,减少成本或时间。
总的来说,A* 算法在解决需要找到最佳路径或最优解的问题时非常有用,它具有广泛的应用领域,并且在许多领域都取得了成功的应用。
2.重要思想
对位置的估价,选择f值最小的节点进行扩展
F = G + H
其中G是出发点到该位置所需要的步数
H就是该位置和终点的一个关系
H可以是该位置与终点的直线距离
为了方便运算我们也可以用曼哈顿距离(X坐标的差与Y坐标的差之和)来代替其
在每次搜索前计算周围位置的 代价
搜索最小代价
3.搜索案例
最后,相同案例两种算法所遍历的节点对比
广度优先遍历:
A*算法:
感谢您的阅读,如有错误请批评指正