【笔记】
斐波那契堆是由一组最小堆有序树构成。树是有根而无序的。
每个结点x包含一个指向其父结点的指针p[x],以及一个指向其任一子女的指针child[x]。
x的所有子女被链接成一个环形双链表,成为x的子女表。子女表中每个孩子y都有指针left[y]和right[y]。
结点x的子女表中子女的个数存储于degree[x]中;布尔值域mark[x]指示自从x上次成为另一个结点子女以来,他是否失掉了一个孩子。
对于一个给定的斐波那契堆H,可以通过指向包含最小关键字的树根的指针min[H]来访问,被称为最小结点。
所有树的根被称为堆的根表。各树的顺序可以使任意的。
H中目前所包含的节点个数为n[H]。
势函数
用t(H)来表示H的根表中树的棵树,用m(H)来表示H中有标记结点的个数。
H的势定义为 Φ(H)=t(H)+2m(H)
一组斐波那契堆的势为各成分斐波那契堆的势之和。
最大度数
假定在包含n个结点的斐波那契堆中,结点的最大度数有一个已知的上界D(n)。