【发布时间】:2011-10-14 09:41:36
【问题描述】:
我有兴趣实现一个优先级队列以启用一个高效的 Astar 实现,该实现也相对简单(我的意思是优先级队列很简单)。
似乎因为跳过列表提供了一个简单的 O(1) 提取最小操作和一个 O(Log N) 的插入操作,它可能与更难实现的具有 O(log N) 的斐波那契堆竞争) extract-Min 和 O(1) 插入。我认为 Skip-List 对于节点稀疏的图会更好,而斐波那契堆对于节点更密集的环境会更好。
这可能会使斐波那契堆通常更好,但我假设 Big-Oh 明智的做法是正确的吗?
【问题讨论】:
-
通常的二进制最小堆有什么问题?
标签: algorithm heap priority-queue skip-lists fibonacci-heap