平衡树AVL树

Posted mike_chang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了平衡树AVL树相关的知识,希望对你有一定的参考价值。

平衡树

平衡树有AVL树、红黑树、2-3树、2-3-4树


AVL树

AVL树是最早的一种平衡树,它以发明者的名字命名。

特征

在AVL树中节点的左子树和右子树的高度差不会大于1

实现

在AVL树中每个节点都存储着一个额外的数据,它的左子树和右子树的高度差,这个差值不能大于1。
插入一个元素后,检查该元素所在的最低子树的根,如果它的子节点的高度相差大于1,执行一次或两次旋转使它们的高度相等;然后接着检查上面的节点,必要时均衡高度;这个检测一直向上,直到根为止。

效率

AVL树查找的时间复杂度为O(logN),因为树一定是平衡的。但是,由于插入或删除一个节点时需要扫描两趟,一次向下查找插入点,一次向上平衡树,AVL树不如红黑树效率高,也不如红黑树常用。


以上是关于平衡树AVL树的主要内容,如果未能解决你的问题,请参考以下文章

解密树的平衡:二分搜索树 → AVL自平衡树 → 左倾红黑树

平衡树——AVL算法

解密树的平衡:二分搜索树 → AVL自平衡树 → 红黑树

平衡二叉查找树——AVL树

树结构实际应用之平衡二叉树(AVL 树)

数据结构~基础2~树《二叉树二叉搜索树AVL树B树红黑树》的设计~高度平衡二叉树AVL树