听说A*寻路算法通常用在游戏地图寻路中。要理解A*算法,应该先了解Dijkstra寻路算法。
A*是在Dijkstra基础上加了一个函数:F = G + H
G = 从起点 A 移动到指定方格的移动代价,沿着到达该方格而生成的路径。
H = 从指定的方格移动到终点 B 的估算成本。
A*沿着F最小的方向搜索。
当然有可能F最小的方向会走进死胡同,这时就需要回退。
听说A*寻路算法通常用在游戏地图寻路中。要理解A*算法,应该先了解Dijkstra寻路算法。
A*是在Dijkstra基础上加了一个函数:F = G + H
G = 从起点 A 移动到指定方格的移动代价,沿着到达该方格而生成的路径。
H = 从指定的方格移动到终点 B 的估算成本。
A*沿着F最小的方向搜索。
当然有可能F最小的方向会走进死胡同,这时就需要回退。