算法积累
文章平均质量分 88
我叫程序猿XXX
这个作者很懒,什么都没留下…
展开
-
红黑树的详细介绍一
红黑树的性质 红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示结点的颜色,可以是RED或者是BLACK,红黑树确保没有一条路径会比其它路径长2倍,因而是近似平衡的。 树中的每个结点包含5个属性:color、key、left、right、parent,如果一个结点没有子结点或者是父结点,则该结点相应指针属性的值为NIL。可以把NIL视为指向二叉搜索树 的也结点的指针原创 2014-05-04 02:02:43 · 1788 阅读 · 0 评论 -
红黑树详细介绍二
删除 RB-TRANSPLANT(T,u,v)函数是将u子树用v来代替,在替换的时候分为了三种情况,如果u就是root结点则直接替换u,如果树里面还包含有其它结点,则将u的左右子树转移到v的左右子树上面。 RB-TRANSPLANT(T,u,v) if u.p == T.nil T.root = v else if u == u.p.left u.p.left = v e原创 2014-05-05 01:00:26 · 1740 阅读 · 0 评论 -
红黑树详细介绍三
根据之前红黑树的原理和《算法导论》上面的伪代码,我用代码将增加和调整的代码实现了一下,如有不对请大家指正。代码可以结合前两篇文章看。 红黑树的详细介绍一 红黑树详细介绍二 /* * ===================================================================================== * *原创 2014-05-06 03:58:56 · 1259 阅读 · 0 评论