美文网首页
A星算法

A星算法

作者: 我家菇凉 | 来源:发表于2021-04-30 08:29 被阅读0次

   A星的作用相当于导航用来寻路的,其次是A*算法适合用于2D类型的游戏  

    A*基本语言    用来不停的遍历身边的点  知道找到最终点为止  

(1)A*算法的公式   f(寻路的总消耗  )  =g(当前位置到起点的消耗)+h(当前位置到终点的消耗) 

(2) 开启列表 (open) 当前节点周围的  能够走到的节点  和关闭列表  (Close)  已经走过的节点

(3) 格子对象的父对象    最终路径是    :通过父节点往回拉的过程   

            而不是存在于关闭列表中的点就是最终的路程    

每一次从新的点去找周围的点  (每一次去遍历周围的8个点  从8个点中去寻找 最优的那个点  然后吧最优的点放在关闭列表中 )  

然后在通过最优的点在遍历周围的点    吧周围的8个点放在开启列表  然后把最优的点放到 关闭列表    ,注意每一次放在关闭列表中的点我们都要放

判断他是不是终点  如果是证明路径已经找完了  如果  不是就继续去找      )

有一种情况是   如果障碍物  多的情况下      他会有一种  在遍历周围点的过程中如果遇到此路不通的情况的     

然后他会重新去寻找别的路   所以说  放在闭合列表中的不一定是最终路径   

关于A*算法的优化   

因为他每次都要对那些点进行排序  

能走的节点可以改成一个2叉堆   他是最小的 每次从堆顶弹出最小的 f值  

吧我们已经走过的节点  换成了一个键值对  用字典来存储  每次存一个我走过节点的Id  判断节点的ID是否在里面  

因为就是一个查找功能  性能会有很大的提升    


相关文章

  • 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/udcwrltx.html