栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java中的Star(A *)算法的实现

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的Star(A *)算法的实现

尝试几次,测量,最快地选择,以适应您的需求。性能主要取决于启发式函数的选择,而启发式函数与A *固有无关。

如果启发式是固定的,则优先级队列的实现可能会成为瓶颈,因此请尝试配对堆。这些是实践中最快的堆数据结构,与二进制堆相比,它们具有优点,它们允许O(1)插入时间+摊销O(log
n)pop-min。这在许多A *循环的预期情况下很重要,在这种情况下队列已满,但从未完全清空,即插入次数远大于弹出次数。

如果内存成为问题,请切换到迭代加深A (IDA )或递归最佳优先搜索(RBFS)。

如果没有任何效果,请考虑使用近似算法(贪婪搜索)。仅优化写得体的A *循环并不会为您带来巨大的提速。

有关算法和问题的详尽讨论,请参见Russell和Norvig。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/609298.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号