gpt4 book ai didi

java - 有效实现广度优先算法的动态队列

转载 作者:行者123 更新时间:2023-12-02 08:25:26 24 4
gpt4 key购买 nike

我正在构建一个广度优先图搜索算法,用于搜索伦敦地铁。

我已经弄清楚了算法,但正如您所知,该算法需要队列 ADS 才能跟踪所有需要搜索的边(以正确的顺序)。

我一直在阅读有关管理队列和大量或非常大量排队项目(边缘)的效率问题。

谁能告诉我如何实现一个基于Java ArrayList的队列,它可以跟踪头部和尾部,并在内存增长时有效地管理内存?

非常感谢任何提示/指示!!

最佳答案

我认为你的问题与这个主题密切相关:Breadth-First search in Java

除非你有确实充分的理由,否则不要使用ArrayList。 Java 已经附带了一组很棒的队列实现 - 请参阅 Queue接口(interface)的详细信息。

就您而言,选择 LinkedList 可能就足够了作为您的队列实现。另请参阅http://www.codeproject.com/KB/java/BFSDFS.aspx这是一个使用 LinkedList 作为队列的广度优先搜索实现的易于理解的示例。

关于java - 有效实现广度优先算法的动态队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4618427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com