码迷,mamicode.com
首页 >  
搜索关键字:红黑树    ( 1467个结果
红黑树详细介绍二
删除         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-07 04:34:13    阅读次数:474
红黑树(一)之 原理和算法
R-B Tree简介 Red-Black Tree,是一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,即红(Red)或黑(Black)。红黑树的特性:(1)每个节点是黑或红。(2)根节点是黑色。(3)每个叶子节点(NIL)是黑色。[注意:这里叶子节点,是指为空(NIL或NULL)....
分类:其他好文   时间:2014-05-07 01:53:34    阅读次数:570
红黑树的详细介绍一
红黑树的性质     红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示结点的颜色,可以是RED或者是BLACK,红黑树确保没有一条路径会比其它路径长2倍,因而是近似平衡的。     树中的每个结点包含5个属性:color、key、left、right、parent,如果一个结点没有子结点或者是父结点,则该结点相应指针属性的值为NIL。可以把NIL视为指向二叉搜索树 的也结点的指针...
分类:其他好文   时间:2014-05-04 09:39:36    阅读次数:579
ACM 红黑树
红黑树时间限制:3000ms | 内存限制:65535KB难度:3描述什么是红黑树呢?顾名思义,跟枣树类似,红黑树是一种叶子是黑色果子是红色的树。。。当然,这个是我说的。。。《算法导论》上可不是这么说的:如果一个二叉查找树满足下面的红黑性质,那么则为一个红黑树。1)每个节点或是红的,或者是黑的。2)...
分类:其他好文   时间:2014-05-01 00:25:22    阅读次数:391
红黑树容器实现(带迭代器)
上一篇文章是纯粹地实现了红黑树,但是在STL中,红黑树容器是需要迭代器实现的。故将上一篇文章改进后实现红黑树容器。 #ifndef ITERATOR_RB_TREE_H_INCLUDED #define ITERATOR_RB_TREE_H_INCLUDED #include"my_iterator_base.h" /* ** iterator_rb_tree.h 红黑树地泛型容器地迭代器 与...
分类:其他好文   时间:2014-04-29 13:45:21    阅读次数:506
map容器设计
在红黑树基础上设计map容器,在设计map时,可以明显利用的map模板类中KEY,VALUE,KEYOFVALUE的灵活运用 不多说,代码如下: //my_map.h #ifndef MY_MAP_H_INCLUDED #define MY_MAP_H_INCLUDED #include //for pair #include"my_rb_tree.h" using std::pair;...
分类:其他好文   时间:2014-04-29 13:27:21    阅读次数:443
set容器的实现
set容器是以红黑树容器为基础实现的,在其基础上稍加改变接口即可 #ifndef MY_SET_H_INCLUDED #define MY_SET_H_INCLUDED #include"my_rb_tree.h" namespace juine { template struct identity { const T& operator()(cons...
分类:其他好文   时间:2014-04-29 13:16:20    阅读次数:376
1467条   上一页 1 ... 145 146 147
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!