二项树和二项堆(Binomial Heaps)

来源:互联网 发布:java canvas类 编辑:程序博客网 时间:2024/05/18 01:53

二项树Bk是一种递归定义的有序树。二项树B0只包含一个结点。二项树Bk由两个子树Bk-1连接而成:其中一棵树的根是另一棵树的根的最左孩子。

二项树

二项树Bk具有以下性质:

1)共有2k次方个结点;

2)树的高度为k

3)在深度i处恰有(k,i)(因此叫二项树)个结点,其中i=0,...,k

4)根的度数为k,它大于任何其他结点的度数,并且,如果对根的子女从左到右编号为k-1k-2,...0,子女i是子树Bi的根。

证明:略,请参考《算法导论》第十九章。

 

二项堆H由一组二项树构成,但需要满足下面两个性质:

1H中的每个二项树遵循最小堆的性质:结点的关键字大于等于其父结点的关键字。

2)对于任意非负整数k,在H中至多有一棵二项树的根具有度数k

二项堆

原创粉丝点击