A*算法笔记

http://blog.jobbole.com/71044/

1968年提出的A*算法结合了贪心最好优先搜索算法和Dijsktra算法的优点。

与Dijkstra算法相似的是,A*算法也能保证找到最短路径。同时A*算法也像贪心最好优先搜索算法一样,使用一种启发值对算法进行引导。

该算法的祕诀在于,它结合了Dijkstra算法使用的节点信息(倾向于距离起点较近的节点),以及贪心最好优先搜索算法的信息(倾向于距离目标较近的节点)。之后在讨论A*算法时,我们使用g(n)表示从起点到任意节点n的路径花费,h(n)表示从节点n到目标节点路径花费的估计值(启发值),A*算法在物体移动的同时平衡这两者的值。定义f(n)=g(n)+h(n),A*算法将每次检测具有最小f(n)值的节点。

点赞