步骤

1. 从起点开始S,计算相邻点A的代价值。f = g + h:代价值 f = 从起点到当前点的代价值 g + 从当前点到终点的代价值 h 。

2. 选择代价值 f 最小的点为下一个节点。

3. 直至到达终点E。

举例

伪代码:

* 初始化open_set和close_set;
* 将起点加入open_set中,并设置优先级为0(优先级最高);
* 如果open_set不为空,则从open_set中选取优先级最高的节点n:
    * 如果节点n为终点,则:
        * 从终点开始逐步追踪parent节点,一直达到起点;
        * 返回找到的结果路径,算法结束;
    * 如果节点n不是终点,则:
        * 将节点n从open_set中删除,并加入close_set中;
        * 遍历节点n所有的邻近节点:
            * 如果邻近节点m在close_set中,则:
                * 跳过,选取下一个邻近节点
            * 如果邻近节点m也不在open_set中,则:
                * 设置节点m的parent为节点n
                * 计算节点m的优先级
                * 将节点m加入open_set中

图示

特点

1. 启发式搜索,启发项影响效果

2. 搜索时间较短

其他路径规划算法: 路径规划算法总览

A*(A star)相关推荐

  1. Python五角星(Five Star)画法(2)

    代码截图 运行结果

  2. 初阶C++——C++第二节——类和对象(大全篇)

    想必大家都听过这样一个段子: 编程界最不缺少的就是对象.因为编程世界,一切皆对象.没有对象怎么办?我可以new一个出来. 关于new的内容,我们下一节再说.本章节我们先说<类和对象>,并且 ...

  3. 《统计学习方法》——10. 隐马尔可夫模型(Python实现)

    本文主要是在阅读过程中对本书的一些概念摘录,包括一些个人的理解,主要是思想理解不涉及到复杂的公式推导.会不定期更新,若有不准确的地方,欢迎留言指正交流 本文完整代码 github 地址:https:/ ...

  4. SRPG游戏开发(二十三)第七章 寻路与地图对象 - 一 A*寻路算法(A* Search Algorithm)

    返回总目录 第七章 寻路与地图对象(Pathfinding and Map Object) 这一章主要进行寻路与地图对象的部分工作. 第七章 寻路与地图对象(Pathfinding and Map O ...

  5. Go-Excelize API源码阅读(十九)——SetHeaderFooter

    Go-Excelize API源码阅读(十九)--SetHeaderFooter 开源摘星计划(WeOpen Star) 是由腾源会 2022 年推出的全新项目,旨在为开源人提供成长激励,为开源项目提 ...

  6. 《统计学习方法》—— 5.决策树(Python实现)

    本文主要是在阅读过程中对本书的一些概念摘录,包括一些个人的理解,主要是思想理解不涉及到复杂的公式推导.若有不准确的地方,欢迎留言指正交流 本文完整代码见 github : https://github ...

  7. 在瀑布下用火焰烤饼:三步法助你快速定位网站性能问题(超详细)

    DevUI是一支兼具设计视角和工程视角的团队,服务于华为云 DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师. 官方网站: devui.design Ng组件库: ng-devu ...

  8. Go-Excelize API源码阅读(三十一)——ProtectSheet(sheet string, settings *SheetProtectionOptions)

    Go-Excelize API源码阅读(三十一)-- ProtectSheet(sheet string, settings *SheetProtectionOptions) 开源摘星计划(WeOpe ...

  9. 推荐:用动画的形式呈现解LeetCode题目的思路(github上25000多star)

    前些日子推荐了一个仓库,把常见算法用python语言实现了(见文章),近日在github上发现另外一个25000多star的仓库,用动画的形式呈现解LeetCode题目的思路,非常值得推荐. 仓库说明 ...

最新文章

  1. 威纶通宏开机后使用初始化宏指令_【操作系统】我们按下电脑开机键的背后发生了什么?...
  2. 云场景实践研究第74期:科沃斯
  3. 张宇概率论与数理统计pdf_【书籍篇】张宇概率论与数理统计9讲
  4. OpenKruise 2021 规划曝光:More than workloads
  5. VBScript在服务器上创建目录
  6. python是偏向bs还是cs_CS与BS架构区别、比较、及现状与趋势分析
  7. 我端午节又来免费送书了!
  8. 鬼吹灯-漫谈大型网站的架构
  9. Espcms 注册或登录提示Can not connect to MySQL server
  10. swift——富文本文字的简单使用
  11. 苹果智能家居的未来之路
  12. 一款好用的程序员工具箱
  13. win10系统下摄像头无法打开的解决方法
  14. 向人工盘点库存和物品说再见
  15. 企业为什么要做等保?不做等保有什么后果?
  16. win10系统要求配置_win10的配置要求是什么?对电脑硬件有什么要求?
  17. 常见测试场景用例设计(1):登录页面测试用例
  18. 6、python-mongodb获取数据存储到sql server
  19. Web Confidential for mac(密码信息管理软件)
  20. N76E003 串口ISP如何使用

热门文章

  1. 区块链和人工智能结合
  2. 初探OSG+Opencascade在qt上的实践值获取模型颜色并在OSG中显示
  3. java取开始时间和结束时间_java获取指定开始时间与结束时间之间的所有日期
  4. 如何在Whats​App上开一家外贸社交电商店铺?【干货收藏】
  5. 携手跨越新数字鸿沟:华为中国生态大会2021开幕
  6. 投屏之flv解析H264
  7. Mac OS X ifconfig命令解释
  8. R语言中的cor和cov和pcor
  9. Android动态获取手机是否是充电状态
  10. SpringBoot通过JPA连接Mysql集群