A 星算法总结_数据结构与算法知识点总结

A 星算法总结_数据结构与算法知识点总结A星算法总结A星算法FPGAEDA工具VPR布线器所采用的布线算法,面试滴滴的时候听说他们的路径规模用的也是A星算法,感觉这个算法还蛮厉害的,对这个算法进行一个总结。文章http://www.tuicool.com/articles/MJrYz26对这个算法用语言描述的很好,搬运下:  A星寻路算法显然是用来寻路的,应用也很普遍,比如梦幻西游。。。算法的思路很简单,就是在bfs的

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

A 星算法总结

A 星算法FPGA EDA工具VPR布线器所采用的布线算法,面试滴滴的时候听说他们的路径规模用的也是A 星算法,感觉这个算法还蛮厉害的,对这个算法进行一个总结。
文章http://www.tuicool.com/articles/MJrYz26 对这个算法用语言描述的很好,搬运下:

  A星寻路算法显然是用来寻路的,应用也很普遍,比如梦幻西游。。。算法的思路很简单,就是在bfs的基础上加了估值函数。它的核心是 F(x) = G(x) + H(x) 和open、close列表。
  G(x)表示从起点到X点的消耗(或者叫移动量什么的),H(X)表示X点到终点的消耗的估值,F(x)就是两者的和值。open列表记录了可能要走的区域,close列表记录了不会再考虑的区域。我们每次都选F值最小的区域搜索,就能搜到一条到终点的最短路径,其中估值H越接近准确值,需要搜索的节点就越少。

A星算法的步骤:
{
将起点区域添加到open列表中,该区域有最小的和值。
重复以下:
  将open列表中最小F值的区域X移除,然后添加到close列表中。
  对于与X相邻的每一块可通行且不在close列表中的区域T:
如果T不在open列表中:添加到open列表,把X设为T的前驱
如果T已经在open列表中:检查 F 是否更小。如果是,更新 T的F值 和前驱
直到:
  终点添加到了close列表。(已找到路径)
  终点未添加到close列表且open列表已空。(未找到路径)
}

估值函数H(X)很有意思,不同的估值函数会带来不同的路径,因此在二维坐标系统下作了个小小的测试:

曼哈顿距离

在二维平面中 点(x1,y1)和点(x2, y2)的曼哈顿距离:H(X)= abs(x1-x2)+ abs(y1 – y2)。其中红色的点表示考察过的点,绿色的点表示最终生成的路径。
曼哈顿距离

殴几里得距离

在二维平面中 点(x1,y1)和点(x2, y2)的曼哈顿距离:H(X)= sqrt((x1-x2)* (x1-x2)+ (y1 – y2)*(y1 – y2))
这里写图片描述

水平距离

这是测着玩的: H(X)= abs(x1 – x2)
这里写图片描述

垂直距离

这也是我测着玩的:H(X) = abs(y1 – y2)
这里写图片描述

迪杰斯特拉算法

令H(x) = 0, A星算法就变成了 迪杰斯特拉算法,想想还真是!!
这里写图片描述

契比雪夫距离

H(X)= max( abs(x1 – x2), abs(y1 – y2) )
这里写图片描述

看来加上H(X)效果大有改善!!
代码为原创:http://download.csdn.net/detail/wjwever1/9669482

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188532.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库第一范式 第二范式 第三范式 BC 范式

    数据库第一范式 第二范式 第三范式 BC 范式国内绝大多数院校用的王珊的《数据库系统概论》这本教材,某些方面并没有给出很详细很明确的解释,与实际应用联系不那么紧密,你有这样的疑问也是挺正常的。我教《数据库原理》这门课有几年了,有很多学生提出了和你一样的问题,试着给你解释一下吧。(基本来自于我上课的内容,某些地方为了不过于啰嗦,放弃了一定的严谨,主要是在“关系”和“表”上)首先要明白”范式(NF)”是什么意思。按照教材中的定义,范式是“

    2022年5月20日
    29
  • 论文之前能在万方检索到,现在搜不到了_resnet论文

    论文之前能在万方检索到,现在搜不到了_resnet论文转自:https://blog.csdn.net/xuanwu_yan/article/details/75042456方法我们回顾一下ResNet,大意就是本层的激活值与本层的输入,作为本层的输出。换一种方式理解,第ll层的激活值不仅仅影响l+1l+1层,而且还影响l+2l+2层。那么由此及广,我们可不可以让第l层的激活值一直影响到第l+kl+k层呢?这样就有了本文的基本思想,稠密就是从这里产生…

    2022年9月26日
    2
  • 微型计算机原理与接口技术第六版周荷琴课后答案_微机原理与接口技术第五版周荷琴

    微型计算机原理与接口技术第六版周荷琴课后答案_微机原理与接口技术第五版周荷琴微型计算机原理与接口技术第六版课后答案【内容简介】本书是为中国科学技术大学工科电子类专业本科生学习“微型计算机原理与系统”课程而编写的教材。微型计算机原理与接口技术第六版周荷琴答案从初版开始至每次修订再版,都是作者在参考国内外大量文献、资料的基础之上,吸取各家之长,并结合教学团队多年教学和应用研究的经验,精心组织编写而成的,可谓自成一体。全书内容丰富,图文并茂,讲述深入浅出,通俗易懂,并附有大量的实例和习题,部分习题还给出了解题提示,既可用作教材,也适合于自学,先后被列入“普通高等教育*规划教材”和“

    2022年9月28日
    3
  • 服务器系统防盗,Windows系统中IIS防盗链设置详细介绍Windows服务器操作系统 -电脑资料…

    服务器系统防盗,Windows系统中IIS防盗链设置详细介绍Windows服务器操作系统 -电脑资料…在Windows系统中IIS防盗链设置需一个ISAPI_Rewrite组件,然后我们把ISAPI_Rewrite加载到iis中,再就可以在iis中的httpd.ini中写防盗链功能了,下面我来给各位同学介绍,首页我们安装一个组件:isapi.msi安装完后,对软件安装目录的IIS_WGP组的读写权限(重要,如果不设置安装完后你的网站就会直接ServiceUnavailable,无法访问)。假如你…

    2022年7月23日
    11
  • Verilog实现MIPS的5级流水线cpu设计(Modelsim仿真)[通俗易懂]

    Verilog实现MIPS的5级流水线cpu设计(Modelsim仿真)[通俗易懂]Verilog实现IMPS的5级流水线cpu设计本篇文章是在功能上实现cpu设计,而非结构上实现。结构上实现可以跳转到(此为个人推荐):Verilog流水线CPU设计(超详细)此外有与本文章配套的资源,文章中不懂的地方可以跳转到:IMPS五级流水线cpu的制作一、实验内容1.1:实验目的(1)CPU各主要功能部件的实现(2)CPU的封装(3)了解提高CPU性能的方法(4)掌…

    2022年8月20日
    11
  • 牛站_牛客网站

    牛站_牛客网站链接https://www.acwing.com/problem/content/submission/code_detail/1207146/题目给定一张由T条边构成的无向图,点的编号为1~1

    2022年8月3日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号