在这里,我们将讨论乘法哈希方法。为此,我们使用哈希函数 −ℎ(𝑥) = ⌊𝑚𝑥𝐴⌋ 𝑚𝑜𝑑 𝑚 其中 A 是一个实数值常数。此方法的优点是 m 的值不是那么关键。我们也可以将 m 设为 2 的幂。虽然任何 A 值都可以得到哈希函数,但某些 A 值比其他值更好。根据 Knuth,我们可以使用黄金分割率作为 A,所以 A 将是$$A=\frac{\sqrt5-1}{2}=0.61803398$$当然,无论 A 选择什么值。抽屉原理意味着如果 u ≥ ... 阅读更多
与二项堆类似,斐波那契堆是树的集合。它们松散地基于二项堆。与二项堆中的树不同,斐波那契堆中的树是有根但无序的。斐波那契堆中每个节点 x 都包含一个指向其父节点的指针 p[x],以及一个指向其任何一个子节点的指针 child[x]。x 的子节点通过一个称为 x 的子列表的循环双向链接列表链接在一起。子列表中的每个子节点 y 都具有指针 left[y] 和 right[y] 分别指向 y 的左右兄弟。如果节点 y 只是... 阅读更多
二项堆是二项树的集合。二项树 Bk 是一个递归定义的有序树。二项树 B0 由单个节点组成。二项树 Bk 由两个二项树 Bk-1 组成。它们连接在一起。其中一个的根是另一个的左子节点。一些二项堆如下所示 - 二项树的一些属性如下 - Bk 的二项树有 2k 个节点。树的高度是 k 在深度 i 处正好有 $$\left(\begin{array}{c}k\ j\end{array}\right)$$ 个节点,对于范围 0 到 k 中的所有 i 二项堆一个二项堆... 阅读更多