Dijkstra 算.法(没有使用启发式信息)
{ 绿色:起点 红色:终点 黑色:障碍物 白色:路径 黄色:已处理的节点 }
A* 算.法(使用了启发式信息:到目标的距离)
Dijkstra 算法和它的升级版 A* 算法得到的结果是一样的,即所有节点的值在更新后是相同的。我们可以将节点的值用高度显示出来,见下图。
Dijkstra 算法 A* 算法
香侬告诉我们,信息可以消除不确定性。其实,信息还可以提高算法的效率。因为我们都有这样的经验:信息越充分,决策越容易成功。A* 算法仅仅将非常简单的启发式信息引入了Dijkstra 算法,就能大幅降低待处理节点的数量,从而极大的提高了效率。所以,如果你想提高算法的效率,看看还有没有什么信息可以使用吧。
“知识(信息)就是力量”
扫描二维码关注公众号,回复:
3211480 查看本文章
——— 培根