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的文章说:
因此,似乎二项式堆的优点是插入速度更快。
至少,这就是渐进分析告诉我们的。现实世界中的运行时间完全是另外一回事,正如吉恩在回答中所说的那样,它取决于恒定的因素。可以确定哪种方法对您的应用程序更好的唯一方法是对其进行测试。