二叉查找树的理解

    这两天又重新看了一下二叉查找树,下面把自己的理解总结一下:

    二叉查找树又叫二叉排序树,简称BST

    BST 满足如下性质:

    每个节点的左孩子节点小于双亲节点,右孩子节点大于双亲节点。

    在二叉查找树的基础上进行改进,就有了二叉平衡树(AVL树)和红黑树(RBT)

    今天主要看了一下平衡树的旋转操作,有四种情况

    :左左,右右,左右和右左。

     对于左左和右右情况,调节成平衡树,需要一次旋转,下面以左左为例:

     即进行左旋操作,左旋,顾名思义,分开理解,左即为左子树,旋即为旋转

     左旋即以左子树进行旋转。

    对于左右和右左,需要进行两次旋转,以左右为例:

    首先,进行右旋,右旋和左旋理解一样,即以右子树进行旋转,然后进行左旋。

    目前是知道这么理解了,但是实现代码还是右一定难度的。。

    继续探索,B,B+,B-树。

     个人认为如果把这几个问题搞懂了,数据结构就是小菜一碟了。

   

原文地址:https://www.cnblogs.com/xshang/p/5905512.html