高级搜索——A*+堆优化Dijkstra

一.A*算法

A*算法,作为启发式算法中很重要的一种,被广泛应用在最优路径求解和一些策略设计的问题中。而A*算法最为核心的部分,就在于它的一个估值函数的设计上:          

       公式表示为: f(n)=g(n)+h(n)

       其中f(n) 是从初始状态经由状态n到目标状态的代价估计,

                  g(n) 是在状态空间中从初始状态到状态n的实际代价,

                  h(n) 是从状态n到目标状态的最佳路径的估计代价

     (对于路径搜索问题,状态就是图中的节点,代价就是距离

注意:h(n)是启发式搜索中最为重要的一部分, h(n)设计的好坏,直接影响着具有此种启发式函数的启发式算法是否能称为A*算法

二.堆优化Dijkstra

点击打开链接

发布了61 篇原创文章 · 获赞 32 · 访问量 8360

猜你喜欢

转载自blog.csdn.net/weixin_43908980/article/details/90261308