二叉搜索树的平衡--AVL树和树的旋转(图解)

二叉搜索树的平衡–AVL树和树的旋转(图解)

二叉搜索树只有保持平衡时其查找效率才会高

要保持二叉搜索树的平衡不是一件易事。不过还是有一些非常经典的办法可以做到,其中最好的方法就是将二叉搜索树实现为AVL树。

AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,他们在 1962 年的论文 “An algorithm for the organization of information” 中发表了它。AVL树是一种特殊类型的二叉树,它的每个结点都保存一份额外的信息:结点的平衡因子。

结点的平衡因子 = 左子树的高度 – 右子树的高度

插入和删除操作都会导致AVL树的自我调整(自我平衡),使得所有结点的平衡因子保持为+1、-1或0。
当子树的根结点的平衡因子为+1时,它是左倾斜的(left-heavy)。
当子树的根结点的平衡因子为 -1时,它是右倾斜的(right-heavy)。
一颗子树的根结点的平衡因子就代表该子树的平衡性。
保持所有子树几乎都处于平衡状态,AVL树在总体上就能够基本保持平衡。

转载地址:https://www.cnblogs.com/idreamo/p/8308336.html
记录文章,以便后续学习使用。

    原文作者:平衡二叉树
    原文地址: https://blog.csdn.net/u014344668/article/details/84655823
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞