微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

广度优先搜索算法中队列的预期大小

如何解决广度优先搜索算法中队列的预期大小

在未加权图上执行的最常见和最简单的操作之一是 Breadth-first search

留给实际实现的算法的一个方面是如何实现队列,尤其是它应该具有什么容量。具体来说,对于具有 N 个节点的给定图,如果分配一个容量为 N 的队列,则肯定不会有时间需要重新分配队列,因为它已达到容量,但如果 N 值足够高,这可能会导致过多的 RAM 需求,如果图的结构导致队列很少使用(例如,充满卷须的丝状图),特别是如果 BFS 只有返回最大长度(如计算 graph diameter 所需)或总长度(如计算 Closeness centrality 所需)。

基于给定图的某些属性(即使有预处理),是否有关于 BFS 算法中队列的预期最佳大小的好论文?

如果有的话,它是否可以推广到 Dijkstra 等上下文中的其他最短路径树算法?

为了让我的具体实现细节更加具体,我正在研究使用 VecDeque 作为队列的 Rust 算法。我不知道为了 BFS 的目的还有什么更好的队列,因为不需要排序等......

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。