【问题标题】:Is there a Fibonacci heap based priority queue for Haskell?Haskell 是否有基于斐波那契堆的优先级队列?
【发布时间】:2013-05-29 09:39:12
【问题描述】:

Haskell 是否有可用的斐波那契堆/优先级队列? (或者甚至是渐近更好的?)我在this question 中找到了各种优先级队列实现的列表,但我找不到它们是否满足斐波那契堆的摊销运行时间:

  • Find-minimum 是 O(1) 摊销时间。
  • 操作插入、减少键和合并(联合)工作是 O(1) 分摊时间。
  • 操作删除和删除最小是O(log n)分摊时间。

the comparison of theoretic bounds

【问题讨论】:

  • 可能不存在生产代码,因为对于合理大小的数据集,常数因子通常会使斐波那契堆比二项堆慢,尽管理论上具有渐近优势。
  • @OliCharlesworth 很有趣,您能否粗略估计一下斐波那契堆的优势是多少?
  • TBH,这有点超出我的范围;我只读过这些缺点(例如,参见CLRS)。不要引用我的话;)

标签: haskell priority-queue fibonacci-heap


【解决方案1】:

不是斐波那契堆,但同样好:heaps,作者 Edward Kmett 基于 Brodal 堆的 Brodal/Okasaki 持久变体。

【讨论】:

  • E.Kmett 实际上有什么没有实现的吗?
猜你喜欢
  • 2011-10-14
  • 1970-01-01
  • 2012-12-29
  • 2011-02-17
  • 2017-12-06
  • 1970-01-01
  • 2015-01-06
  • 2012-12-16
相关资源
最近更新 更多