二项式堆(Binomial Heap)
在计算机科学中,Binomial Heap类似于二叉堆但是支持两个堆的快速合并。这是通过一个特殊的树结构完成的。
binomial tree定义
- 0阶的 binomial tree是一个结点。
- k阶的 binomial tree有如下特点:k阶的Binomial Heap的根节点依次是k-1,k-2,...,0(以此顺序)阶 binomial tree的根节点的父结点。
- k阶 binomial tree结构有2k个结点,高度为k。
- 由于binomial tree独特的结构,一个k阶 binomial tree可以简单的通过合并两个k-1阶的 binomial tree来完成:将其中一个连接到另一个的最左边。这是 binomial heap进行合并操作的核心,也是binomial heap相对于传统堆的优点。
- 名字来源于形状:n阶binomial tree在d层上有C(n,d)个结点。