二叉查找树的理解

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

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

    BST 满足如下性质:

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

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

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

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

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

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

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

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

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

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

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

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

   

posted @   xshang  阅读(227)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示