- 一、概念
- 二、程序
- 三、练习
- 四、思考题
- 一、概念
- 二、程序
- 三、练习
- 四、思考题
- 一、概念
- 二、代码
- 三、练习
- 四、思考题
- 一、概念
- 二、代码
- 三、习题
- 四、思考题
- 一、题目描述
- 二、常规方法
- 三、常规方法的比较次数
- 四、方法改进一
- 五、第一次循环的可用信息
- 六、根据第一遍的可用信息作第二次循环
- 七、方法改进一的伪代码
- 八、方法改进一的比较次数
- 九、方法改进二
- 十、方法改进二的比较次数
- 十一、代码
- 一、概念
- 二、代码
- 三、练习
- 一、概念
- 二、代码
- 三、练习
- 一、概念
- 二、代码
- 三、练习
- 一、概念
- 二、练习
- 一、概念
- 二、代码
- 三、习题
- 一、概念
- 二、代码
- 三、练习
- 四、思考题
- 一、概念
- 二、代码
- 三、练习
- 四、思考题
- 一、概念
- 二、代码
- 三、练习
- 一、综述
- 二、代码
- 三、练习
- 一、综述
- 二、代码
- 三、练习
- 四、思考题
- 一、综述
- 二、活动选择问题
- 三、贪心策略的基本内容
- 四、哈夫曼编码
- 五、思考题
- 一、定义
- 二、代码
- 三、练习
- 四、思考题
- 一、概念
- 二、代码
- 三、练习
- 四、思考题
- 一、综述
- 二、理解
- 三、改进
- 四、代码
- 五、习题
- 四、思考题
- 一、综述
- 二、代码
- 三、练习
- 四、思考题
- 一、综述
- 二、代码
- 三、练习
- 一、综述
- 二、代码
- 三、练习
- 一、综述
- 二、代码
- 三、练习
- 一、综述
- 二、代码
- 三、练习
- 一、综述
- 二、代码
- 三、练习
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
一、概念
1.定义与性质
(1)定义
红黑树字义:满足(a) 每个结点或是红的,或是黑的(b) 根结点是黑的(c) 每个叶结点(NIL)是黑的(d) 如果一个结点是红的,则它的两个儿子是黑的(e) 对每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点的二叉查找树称为红黑树。
黑高度定义:从某个结点 x 出发(不包括该结点)到达一个叶结点的任意一条路径上的黑色结点的个数称为 x 的黑高度。
(2)性质
红黑树确保没有一条路径会比其它路径长出两倍。
一棵有 n 个内结点的红黑树的高度至多为 2lg(n+1)
2.结构
(1)红黑树结点结构
struct node
{
node *left;
node *right;
node *p;
int key;
bool color;
};
(2)红黑树结构
struct Red_Black_Tree
{
node *root;//根结点
node *nil;//哨兵
};
3.红黑树上的操作
SEARCH
PREDECESSOR
MINIMUM
MAXIMUM
INSERT
DELETE
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论