第6-1课:A* 算法

本文详细介绍了A*算法的原理、距离评估函数(曼哈顿距离、欧式几何平面距离、切比雪夫距离)以及与Dijkstra算法和Best-First算法的关系。通过一个模拟地图的演示程序,阐述了A*算法如何用于自动寻路并绕过障碍物,同时展示了三种距离评估函数在有障碍物地图上的效果差异。A*算法在游戏寻路方面表现出优越性,适用于角色扮演游戏等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第3-7课:推箱子游戏中,我们已经应用了 A* 算法,但是并没有展开介绍该算法的原理,这一课来补上。A(A-Star)算法和 Dijkstra 算法一样,都是求最短路径的搜索算法,不过 Dijkstra 算法比较直接,上来就是 BFS 搜索;A 算法则用了一点“启发”技术,所谓的启发,其实都是很简单的距离向量的判断。但是不要小看这一点“启发”,会使得 A* 算法在搜索效率上优于 Dijkstra 算法。除了介绍 A* 算法的原理,这一课还将演示一个程序,结合这个演示程序大家可以理解 A* 算法是如何被应用到实际应用中的。“推箱子游戏”展示了另一种 A* 算法的应用,当然,它们的数据模型是不一样的,请体会一下我一直强调的算法和算法应用的区别。

演示程序设计

很多古老的二维 RPG 游戏(Role-Playing Game,角色扮演游戏)中角色的自动移动,大多数都是用的 A* 算法自动寻路并绕开障碍物的,因为 A* 算法不仅实现简单,效果也不差。这一课将向大家直观地展示 A* 算法的寻路效果,我设计了一个 A* 算法的演示程序。《算法的乐趣》这本书也是用的这个演示程序,但是没有展开介绍是如何将 A* 算法应用到这个演示程序中的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王晓华-吹泡泡的小猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值