前言
原文请参考:a* 搜索算法实现原理( a-star ) - weblog
了解a*搜索算法的原理请参考:a* 搜索算法实现原理( a-star ) - weblog
a*搜索算法动态演示分析,及代码,请参考:a*搜索算法演示地址(a-star)
1.Dijkstra算法与最佳优先搜索
在了解a*算法之前相信您已经对这两个算法有所了解
Dijkstra算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),优先从未遍历的节点集合中选取距离最近的那个节点遍历,然后再更新与该节点有关的接待你的距离,直到扩展到终点为止。条件是每条边的权值不能为负数。但是在某种情形中,和广度优先搜索一样,需要耗费更多的时间。如下图,红色为开始节点ÿ