《算法导论》笔记 第20章 20.1 斐波那契堆的结构

【笔记】


斐波那契堆是由一组最小堆有序树构成。树是有根而无序的。

每个结点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)。




你可能感兴趣的:(《算法导论》笔记 第20章 20.1 斐波那契堆的结构)