17、2 - 3 树

内容来自刘宇波老师算法与数据结构体系课

1、2 - 3 树的结构

image

2、添加元素举例

image
image
image

3、添加元素说明

2 - 3 树
添加元素不会添加到空节点
一定是添加到最后搜索到的叶子节点,与它做融合

1、如果插入 "二节点",则融合形成 "三节点"
2、如果插入 "三节点",则融合形成 "四节点",再拆解形成 3 个 "二节点"
  【1】如果父节点为 "二节点",则融合形成 "三节点"
  【2】如果父节点为 "三节点",则重复 2

image
image
image

4、红黑树和 2 - 3 树的等价性

1、每个节点或者是红色的,或者是黑色的
2、根节点是黑色的
3、每一个叶子节点(最后的空节点)是黑色的
4、如果一个节点是红色的,那么他的孩子节点都是黑色的
5、从一个节点到任意叶子节点,经过的黑色节点是一样的

红黑树是保持 "黑平衡" 的二叉树
严格意义上,不是平衡二叉树,最大高度:2 * logN
红黑树添加和删除比 AVL 树快,查询比 AVL 树慢(它比 AVL 树更高)

image
image

posted @ 2023-04-11 14:50  lidongdongdong~  阅读(138)  评论(0编辑  收藏  举报