Binomial Heap具有非常特殊的设计。我个人认为这种设计不直观。

尽管诸如What is the difference between binary heaps and binomial heaps?之类的文章谈到了diff及其特殊性,但我仍然想知道何时应该使用它。

http://en.wikipedia.org/wiki/Binomial_heap中,它说



我认为二项式堆的一个优点是可以合并。但是,Leftist heap也具有O(logN)合并并且更简单,为什么我们仍然使用二项式堆?什么时候应该使用二项式堆?

编辑

我想在这里问的一个实际问题是,二项式堆到底有什么优势?

最佳答案

Leftist tree的文章说:



因此,似乎二项式堆的优点是插入速度更快。

至少,这就是渐进分析告诉我们的。现实世界中的运行时间完全是另外一回事,正如吉恩在回答中所说的那样,它取决于恒定的因素。可以确定哪种方法对您的应用程序更好的唯一方法是对其进行测试。

10-06 01:53