01 2016 档案
摘要:若被删除的结点有两个非叶子结点,那么可以转换为删除一个“替代点”的问题,该替代点最多只有一个非叶子孩子结点。可以通过前驱或者后继(都最多有一个非叶子孩子结点)来替代最初要被删除的结点,所以下面只关注只有一个非叶子孩子结点的问题,一旦我们解决了这个问题,那么解决方法将同样适用于两种情形:1、原本想删除...
阅读全文
摘要:所有被插入的结点一开始都被设置成红色(很重要!),它的左右孩子结点都是NULL,所有的NULL结点被设置为黑色,这样可以满足第3条属性(所有的叶子结点不包含数据,也就是指NULL,并且都是黑色)。一开始,N正是要被插入的新结点,但是整个过程也可能会迭代到其他的结点上。标志P(Parent)代表N的父...
阅读全文
摘要:红黑树是一种自平衡二叉搜索树,每个结点都有一个额外的位(bit),代表了结点的颜色(红色或黑色)。这些代表颜色的位用来确保红黑树在插入和删除时保持基本平衡。红黑树不保证完全平衡,但是已经足够使得搜索能在O(log n)时间内完成,n为树中元素的个数。插入和删除操作,伴随树结构的重新构造和重新着色,也
阅读全文
摘要:在计算机科学中,斐波那契堆是由树的集合所组成的堆数据结构。它比二项堆的平摊运行时间更好。斐波那契堆的名字来自于斐波那契数列,这些数列被用来做运行时间分析。求最小值(find-mininum), 插入(insert), 降低元素值(decrease-key)和合并(merge/union)可以在常数平...
阅读全文