【数据结构】AVL树_红黑树_B树与B+树

文章目录

  • 1 AVL树
  • 红黑树
  • B树与B+树

1 AVL树

转载自博客 : 详细图文——AVL树
AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。

往平衡二叉树中添加节点很可能会导致二叉树失去平衡,所以我们需要在每次插入节点后进行平衡的维护操作。插入节点破坏平衡性有如下四种情况:
1)LL——>右旋

LL的意思是向左子树(L)的左孩子(L)中插入新节点后导致不平衡,这种情况下需要右旋操作,而不是说LL的意思是右旋,后面的也是一样。
【数据结构】AVL树_红黑树_B树与B+树_第1张图片

2)RR——>左旋
【数据结构】AVL树_红黑树_B树与B+树_第2张图片

3)LR——>先左旋转为LL型,再右旋

【数据结构】AVL树_红黑树_B树与B+树_第3张图片

4)RL——>先右旋转为RR型,再左旋

【数据结构】AVL树_红黑树_B树与B+树_第4张图片

红黑树

转载:30张图带你彻底理解红黑树
红黑树定义和性质
红黑树是一种含有红黑结点并能自平衡的二叉查找树。它必须满足下面性质:

性质1:每个节点要么是黑色,要么是红色。
性质2:根节点是黑色。
性质3:每个叶子节点(NIL)是黑色。
性质4:每个红色结点的两个子结点一定都是黑色。
性质5:任意一结点到每个叶子结点的路径都包含数量相同的黑结点。

【数据结构】AVL树_红黑树_B树与B+树_第5张图片

B树与B+树

面试官问你B树和B+树,就把这篇文章丢给他

你可能感兴趣的:(算法/数据结构)