A*算法是求解一个点到另一个点的最短路径,是针对点到点的最短路径算法。
A*算法增加了一个当前点到目标点的预估函数
在堆中根据源点到当前点 + 当前点到目标点的预估距离来排序
剩下的细节和Dijskra算法完全已一样,只有在放入堆中的元素不一样
预估函数要求: 当前点到目标点的预估距离 <= 当前点到目标点的最短距离
预估目标点距离经常选择:
曼哈顿距离: |x1 - x2| + |y1 - y2|
欧式距离: pow(sqrt(x2 - x1) + sqrt(y2 - y1), 2)
对角线距离: max(abs(y2 - y1), abs(x2 - x1))
标签:距离,x2,算法,y1,y2,预估 From: https://www.cnblogs.com/lwj1239/p/17988860