红黑树及其操作
来源:互联网 发布:linux 创建用户脚本 编辑:程序博客网 时间:2024/05/29 09:53
介绍另一种平衡二叉树:红黑树(Red Black Tree),红黑树由Rudolf Bayer于1972年发明,当时被称为平衡二叉B树(symmetric binary B-trees),1978年被Leonidas J. Guibas 和Robert Sedgewick改成一个比较摩登的名字:红黑树。
红黑树和之前所讲的AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。自从红黑树出来后,AVL树就被放到了博物馆里,据说是红黑树有更好的效率,更高的统计性能。不过在我了解了红黑树的实现原理后,并不相信这是真的,关于这一点我们会在后面进行讨论。
红黑树和AVL树的区别在于它使用颜色来标识结点的高度,它所追求的是局部平衡而不是AVL树中的非常严格的平衡。之前我们在讲解AVL树时,已经领教过AVL树的复杂,但AVL树的复杂比起红黑树来说简直是小巫见大巫。红黑树是真正的变态级数据结构。
一篇很好的红黑树扫盲文
TreeMap的实现 其左旋右旋动画很直观
阅读全文
0 0
- 红黑树及其操作
- (175)红黑树及其相关操作
- emacs 操作及其它
- Javascript数组及其操作
- Javascript数组及其操作
- 矩阵类型及其操作
- Javascript数组及其操作
- Javascript数组及其操作
- mysql命令及其操作
- javascript数组及其操作
- 原子操作及其重要性
- inode结构及其操作
- sk_buff 定义及其操作
- 单链表及其相关操作
- 单链表及其操作
- HDFS原理及其操作
- 字符串及其操作函数
- 堆及其操作
- hbase shell之常用过滤器设置
- Flip Game 深搜
- Tomcat logs 目录下各日志文件的含义
- swift中的手势
- css应用表格排版td中的文本过长,设置不换行,随内容同行显示样式
- 红黑树及其操作
- C_线性表(ADT)-顺序表的表示和实现
- pytorch Batch Normalization批标准化
- HTMl5内置存储sessionStorage和localStorage
- Android关于Service服务
- Python list之append和extend的区别
- 日本咖啡馆推出AR体验,在三次元邂逅初音未来
- flume之Taildir Source支持变化追加文件的日志收集
- 可编辑div的使用,实现类似textarea功能