博客
关于我
a*算法伪代码及实现
阅读量:484 次
发布时间:2019-03-07

本文共 470 字,大约阅读时间需要 1 分钟。

以下伪代码描述了寻找目标点路径的优化算法,结合了广度优先搜索和F值优化策略,确保路径长度最短。

初始化

首先,初始化两个列表:

  • openList 用于记录待检测的路径点
  • closeList 记录最终无需进一步检测的点

将起始点startPoint加入openList中。

路径搜索过程

开始循环检测openList中的点:

  • 检查openList是否为空:

    • 如果为空,代表无路可达,终止搜索。
  • 找到F值最小的点:

    • 如果找不到目标点,继续从当前最优点出发,更新openList
  • 检查当前点是否为目标点:

    • 如果是,通过父节点链追溯路径,返回最优路径。
  • 如果不是目标点,检查周围8邻域点:

    • 排除不可通行点、closeList中的点及边界点,继续。
  • 记录当前点父节点及F值,并更新closeList

  • 寻找目标点

    如果目标点不是当前点,开始遍历周围点,记录路径并更新优先级队列。

    无路可走

    如果所有点检测完毕而未找到目标点,返回无路可达提示。

    这个优化算法结合了广度优先搜索和F值策略,确保在松弛约束下寻找最优路径,同时动态管理路径状态,提高效率。

    转载地址:http://yupcz.baihongyu.com/

    你可能感兴趣的文章
    推荐几个微信Markdown排版工具
    查看>>
    golang log4go 使用说明及丢失日志原因
    查看>>
    C++ 笔记(17)— 类和对象(构造函数、析构函数)
    查看>>
    fatal error all goroutines are asleep - deadlock!
    查看>>
    File Name
    查看>>
    Android Studio打包生成Jar包的方法
    查看>>
    华为路由器配置VRRP
    查看>>
    Excel 如何根据单元格中的值设立不同的颜色(或渐变)?(222)
    查看>>
    python 文件操作 open()与with open() as的区别(打开文件)
    查看>>
    pycharm新建文件夹时新建python package和新建directory有什么区别?
    查看>>
    Git中pull,commit和push的概念
    查看>>
    python中列表 元组 字典 集合的区别
    查看>>
    python struct 官方文档
    查看>>
    中级软考 计算机指令执行过程(取指、分析、执行)计算机重叠流水线问题
    查看>>
    opencv cv::BorderTypes 像素外推方法(Pixel extrapolation method)
    查看>>
    摄像头捕获视频流软件AMCAP使用教程(视频采集捕获处理媒体制作微型软件)
    查看>>
    pytorch torch.item()(返回此张量的值作为标准Python数字。 这仅适用于具有一个元素的张量。)
    查看>>
    python 如何计算平方、次方?平方根、方根?(math.pow()、math.sqrt())
    查看>>
    Docker镜像加速
    查看>>
    x射线和γ射线区别?α射线、β射线
    查看>>