A*算法笔记

A算法笔记
如有错误,烦请指正,谢谢大家
A
是一种寻路算法,通常用来解决path finding problem,在A算法中,我们把地图划分成一个个小方格(其他图形也可以)。地图中包含起点、终点、障碍物等信息。我们通过A算法找出从起点到终点的路径,通过小方格一个位置一个位置的移动来到达终点。每个方格都有两个状态:可走状态和不可走状态,那些被障碍物占据的方格就成为不可走状态。A*算法中还包含Openlist和Closelist两个元素。
算法的大致过程
1、从起点开始,把起点和与起点相邻且可达的方格加入到openlist当中
2、把起点设为这些方格的父亲节点
3、把起点从Openlist中移除,并把它加入到closelist之中
4、计算组成路径方格,计算组成路径方格主要靠F=G+H,其中G为移动到指定方格的移动代价,可以设横竖移动代价为10,对角线移动代价为14(这样操作可以加快计算机的运算速度)H可以用曼哈顿距离来估算出来(移动格子的总数乘10)
5、把起点加入closelist中之后,我们选择F值最小的那个格子进行搜索
6、把这个格子从openlist中取出,检查所有与他相邻且可达的方格,若这些方格有在openlist中,则选择F值最小的那个进行搜索,若都不在,则把他们加入到openlist中去,
7、检查当前路径是否最优,即当前方格到所选方格G值是不是变小了,若没有不做任何操作,若变小了,重新计算那个方格的F值和G值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值