数据结构:2-3树与红黑树
来源:互联网 发布:windows r 编辑:程序博客网 时间:2024/05/16 02:03
2-3树之前没接触过,只是听说过红黑树,知道是平衡树的一种,在关注C++的STL里的set和map底层实现原理时第一次知道的,查了一下红黑树的资料,看的一通云里雾罩、不明所以。正好最近一个算法微信公众号里看了几篇讲数据结构的文章,先讲了2-3树,后讲了红黑树,一下子就明白了。
原来红黑树是2-3树德一种实现方式,2-3树是平衡树的一种概念和思路,目的是降低BST(平衡查找树)的插入后平衡化操作代价,但2-3树直接实现起来比较复杂,需要处理不同的节点类型,相比AVL查找树,2-3树多了一种节点类型,它有两个value和3个子女指针,子女指针指向由两个value分开的3个区间,然后定义一些列平衡化操作,使得在插入、删除时效率相比AVL树要高(只需修改和本节点相关的节点即可,而AVL要递归平衡化操作,在一些情况下可能会一直涉及到根节点)。
但2-3树插入操作造成的多次比较、拆分等也比较复杂,平衡操作有时会降低效率,作为改进的红黑树效率较高而且实现难度降低了很多。
分享一下这两篇文章,注意其代码实现是C#,没有指针哦。
2-3树
浅谈算法和数据结构: 八 平衡查找树之2-3树
红黑树
浅谈算法和数据结构: 九 平衡查找树之红黑树
1 0
- 数据结构:2-3树与红黑树
- 2-3-4 树 Java数据结构与算法
- java数据结构与算法-2-3-4树
- Java数据结构与算法解析——2-3树
- 数据结构之红黑树与平衡二叉树
- 数据结构3--树与二叉树
- 数据结构与算法3:链表2
- 数据结构与算法---树
- 数据结构与算法(2)
- 数据结构与算法2
- 数据结构:2-3树
- 数据结构与算法简记:红黑树
- 红黑树数据结构分析与实现
- Java数据结构与算法:红黑树
- java数据结构与算法-红黑树
- Java 数据结构与算法------红黑树
- 数据结构:树与二叉树
- 数据结构-树与二叉树
- js 内置对象--array常用属性介绍
- Android为何比iOS卡?【转载】
- (Leetcode)371. Sum of Two Integers
- 对象转型 /java初学
- springmvc学习指南-springmvc的CRUD入门
- 数据结构:2-3树与红黑树
- Struts2工作原理
- 面向对象_static的注意事项
- [linux]jenkins迁移
- PHP内核之Apache的PHP模块启动
- 【Codeforces Round #351 Div. 2】 673A Bear and Game
- 哈希 /java初学
- 389. Find the Difference
- 高效使用google及提问