gpt4 book ai didi

algorithm - 优先队列 - 跳过列表与斐波那契堆

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:36:05 25 4
gpt4 key购买 nike

我有兴趣实现一个优先级队列来启用一个高效的 Astar 实现,它也相对简单(我的意思是优先级队列很简单)。

似乎因为跳跃列表提供了一个简单的 O(1) 提取-最小操作和一个 O(Log N) 的插入操作,它可能与更难实现的具有 O(log N) 的 Fibonacci 堆竞争) extract-Min 和一个 O(1) 插入。我认为 Skip-List 对于具有稀疏节点的图形会更好,而 Fibonacci 堆对于具有更密集连接节点的环境会更好。

这通常会使斐波那契堆更好,但我假设 Big-Oh 明智的它们是相似的是否正确?

最佳答案

Fibonacci 堆存在的理由是 O(1) 减键操作,使 Dijkstra 算法能够在 O(|V| log |V| + |E|) 时间内运行。然而,在实践中,如果我需要一个有效的减少键操作,我会使用配对堆,因为斐波那契堆有糟糕的常量。如果您的 key 是小整数,则使用 bin 可能会更好。

关于algorithm - 优先队列 - 跳过列表与斐波那契堆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6847233/

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