美文网首页
A星算法

A星算法

作者: 李云龙_ | 来源:发表于2020-09-14 17:01 被阅读0次

完整 demo: https://github.com/dazeGitHub/AStartAlgorithm

image.png

参考文章:https://blog.csdn.net/hitwhylz/article/details/23089415

算法总结

1. 把起点加入 open list
2. 重复如下过程:
  1. 遍历 open list ,查找 F 值最小的节点,把它作为当前要处理的节点。
  2. 把这个节点移到 close list 。
  3. 对当前方格的 8 个相邻方格的每一个方格做判断:
  • 如果它是不可抵达的或者它在 close list 中,忽略它。否则,做如下操作。
  • 如果它不在 open list 中,把它加入 open list ,并且把当前方格设置为它的父亲,记录该方格的 F , G 和 H 值。
  • 如果它已经在 open list 中,检查这条路径 ( 即经由当前方格到达它那里 ) 是否更好,用 G 值作参考。更小的 G 值表示这是更好的路径。如果是这样,把它的父亲设置为当前方格,并重新计算它的 G 和 F 值。如果你的 open list 是按 F 值排序的话,改变后你可能需要重新排序。
3. 当满足以下条件则停止过程
  • 把终点加入到了 open list 中,此时路径已经找到了,或者
  • 查找终点失败,并且 open list 是空的,此时没有路径。
4. 保存路径

从终点开始,沿着每个方格的父节点移动直至起点,这就是最终的路径。

相关文章

  • A星算法

    手机码字,太难受,回头直接扔个源码链接给大家,注释很详细的那种

  • A星算法

    完整 demo: https://github.com/dazeGitHub/AStartAlgorithm 参考...

  • A星算法

    A星的作用相当于导航用来寻路的,其次是A*算法适合用于2D类型的游戏 A*基本语言 用来不停的遍历身边的点 知...

  • A星算法JavaScript实现

    A星算法 介绍 javascript实现A星寻路算法 在游戏中常有需要主角/敌人去移动到某个物品或者追寻敌人的时候...

  • [算法笔记]A*寻路算法

    1.算法概述 A*算法也叫做A星(A star)算法,A*算法是之前提过的Dijkstra最短路径的一个扩展和改进...

  • A星算法_A*算法_python实现

  • 算法(7):A star算法(寻路算法)

    前言 A star算法也叫A星(A*)算法,这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于...

  • 啊哈(算法)挑战:题

    让我们挑战几个简单的算法,以下几个算法1~7是一星?难度,第8个是二星??难度,很简单,快来挑战一下吧啊哈挑战官网...

  • A*搜索算法(python)

    先了解一下什么是A*算法。 A搜寻算法,俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算...

  • 数据结构算法回顾-A*算法

    维基百科的说法: A搜索算法,俗称A星算法*。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用...

网友评论

      本文标题:A星算法

      本文链接:https://www.haomeiwen.com/subject/pabzektx.html