搜索算法king——A*初识

最近在做搜索的练习,老是听到大神们说什么A*算法,听起很高大上的样子,于是我这个菜鸟出于好奇百度了一下,发现真是好玩死了,对于搜索算法我们都知道有深搜和广搜,深搜一般用来解决数据不是很大(二维数组一般不超过20),并且有的时候需要搜索全部可能性的时候,而广搜除了可以用来解决上述问题以外,还可以用来解决最优解问题。但是大家都清楚,深搜对于时间复杂度有要求而广搜对于空间的消耗也是很大,那么A*算法便脱颖而出,它所做的主要优化就是对于路径的点,除了考虑该点和起始点的距离之外,还考虑和终点的距离,而对于和终点的距离由于有障碍物的存在,使得我们无法精确计算出来,那么便采用估计值的方式来进行处理。(对于障碍物我们是不考虑是否跳过的问题!即,障碍物也当做正常的一个格子!这也是H值仅仅是预测的而已的原因!即所谓启发式! )。毕竟怎么着也不不优化强吧。。。。那么问题就是计算估计值,一般情况下有以下两种方式:
①计算横着竖着的距离和
②计算两个点之间的距离(对角)
即主要是计算一个函数f(n)=g(n)+h(n)

g(n)该点和起始点的距离,

h(n)是该点

和终点的距离


这个博主讲得很通俗易懂,大家可以参考一下:http://blog.csdn.net/zgwangbo/article/details/52078338#reply

由于我理解不是很到位,我就不多说了,持续更新。。。

这篇文章也不错,

http://blog.csdn.net/zhanghow/article/details/53585286

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值