《每日一个算法》什么是A*寻路算法?

比如像这样子:第一步:把起点放入OpenList第二步:找出OpenList中F值最小的方格,即唯一的方格Node(1,2)作为当前方格,并把当前格移出Open

各位老铁们,大家好,今天由我来为大家分享《每日一个算法》什么是A*寻路算法?,以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

例如,这样的事情:

步骤1:将起点放入OpenList

步骤2:找到OpenList中F值最小的方格,即唯一的方格Node(1,2)作为当前方格,将当前方格移出OpenList,放入CloseList中。表示已经到达并检查了该网格。

步骤3:查找当前网格的上、下、左、右所有可到达的网格,看是否在OpenList中。如果没有,则添加OpenList,计算对应的G、H、F值,并以当前网格作为它们的“父节点”。

图中,每个格子左下角的数字为G,右下角的数字为H,左上角的数字为F。

Round2 ~ Step 1:在OpenList中找到F值最小的方格,即方格Node(2,2)作为当前方格,并将当前方格移出OpenList,放入CloseList中。表示已经到达并检查了该网格。

《每日一个算法》什么是A*寻路算法?

Round2~第二步:查找当前格子的上、下、左、右所有可达的格子,看是否在OpenList中。如果没有,则添加OpenList,计算对应的G、H、F值,并以当前网格作为它们的“父节点”。

为什么OpenList这次只添加了两个新网格?因为Node(3,2)是墙,所以不需要考虑,而Node(1,2)在CloseList中,说明已经检查过,所以不需要考虑。

Round3 ~ 步骤1:在OpenList中找到F值最小的方格。由于此时多个方格的F值相等,所以可以选择任意一个,比如Node(2,3)作为当前方格,将当前方格移出OpenList,放入CloseList中。这意味着这个网格已经到达并且被检查了。

Round3 ~ Step 2: 查找当前格子的上、下、左、右所有可到达的格子,看是否在OpenList中。如果没有,则添加OpenList,计算对应的G、H、F值,并以当前网格作为它们的“父节点”。

剩下的就是继续按照之前的方式迭代,直到OpenList 中出现结束方块。这里用图片做一个简单的描述。方框中的数字代表F值:

阐明:

用户评论

《每日一个算法》什么是A*寻路算法?
相知相惜

终于找到了解释A\*寻路算法的博客!之前看游戏里的路径规划一直觉得很神奇,原来是这个算法在背后运作啊!感觉这篇文章讲得非常清楚,我有点计算机基础,都能很好的理解。

    有6位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
枫无痕

这篇博文翻译得很简洁易懂,对于初学者的学习还是很有帮助的。我最喜欢部分代码示例说明, 让我能直观地看到A\*算法是如何工作的!下次遇到路径规划问题的时候记得来参考一下哦

    有19位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
迁心

其实不用每次都使用最优解啊,有时候贪心一点效率更高反而更好,对吧?毕竟时间资源有限嘛.

    有8位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
你身上有刺,别扎我

说A\*寻路算法是人工智能领域中的必修课也不为过,这篇文章讲得很深入,涵盖了算法原理、核心思想以及实际应用场景。强烈推荐给所有想学习计算机科学的小伙伴们!

    有8位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
醉红颜

我也正在研究路径规划,这篇文章的分析很有帮助!我之前尝试用 Dijkstra 算法实现路径搜索,但是对于大地图来说效率太低,A\*算法看起来更适合这种情况。今度、试一试看,期待效果。

    有16位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
放血

感觉标题有点夸张, "每天一算法"是不是太多了?算法确实很重要,但这篇文章也只是一篇基础介绍而已,要想真正掌握还需要深入学习实践

    有12位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
有阳光还感觉冷

之前一直以为路径规划就那么简单,直到看到了这篇博文才了解到A\*算法的复杂性和优越性。原来看似简单的搜索问题背后竟有如此精妙的设计!佩服程序员们的天才之处!

    有12位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
来瓶年的冰泉

代码示例写的太复杂了,我初学者看着有点懵,希望作者能提供更简化的例子,更容易理解

    有16位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
龙吟凤

学习算法真的好耗时啊!不过A\*寻路算法确实很不错,我觉得在人工智能领域,这种基本算法一定要掌握,以后肯定要用到!

    有14位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
ゞ香草可樂ゞ草莓布丁

看到这篇博文突然想到我的游戏项目,以前路径规划实现的太简单了,导致玩家体验感不佳。现在用A\*算法或许可以改进很多!

    有6位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
墨城烟柳

感觉A\*寻路算法的适用性太强大了,从机器人导航到人工智能路径优化都有涉及!真是一个不可或缺的算法工具

    有16位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
你tm的滚

作者写的很棒,我之前对寻路问题一直不是很了解,看了这篇文章才明白A\*算法的作用范围有多广!

    有11位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
限量版女汉子

这篇文章介绍的非常全面,从理论到实践,都涵盖了重点。对于想要深入学习A\*算法的人来说,这绝对是一篇不可或缺的参考文献!

    有8位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
泡泡龙

对初学者来说,这篇文章有点抽象吧,建议加入更多的实例分析和应用场景讲解,这样更容易理解

    有16位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
算了吧

玩游戏的时候经常遇到各种怪兽AI路径规划的问题,现在终于明白是使用了A\*算法了!看来这个算法应用范围还真是广啊!

    有16位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
孤廖

这篇文章太棒了!解释得明明白白,而且还结合了代码示例,让我更容易理解A\*算法的原理。感谢作者分享如此宝贵的知识!

    有18位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
单身i

学习A\*寻路算法很有必要!这将会给我在算法设计和计算机科学领域带来深厚的积累,我一定要好好掌握这个算法

    有6位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
蝶恋花╮

我觉得博客标题稍微夸大了一点,“每天一算法”好像有点过于频繁,但文章内容确实很棒! A\*寻路算法确实很有用,我已经开始尝试应用它在我的项目中了。

    有11位网友表示赞同!

《每日一个算法》什么是A*寻路算法?
拥抱

这种基础入门文章真的太好使了!让我能快速理解A\*算法的基本概念和原理。期待作者以后能够带来更多深入的讲解!

    有20位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/140363.html

(0)
小su's avatar小su
上一篇 2024年9月18日 下午9:05
下一篇 2024年9月18日 下午9:11

相关推荐

发表回复

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