10. 二叉平衡树

发布时间 2023-04-02 20:00:30作者: 夏冰翎

一、什么是平衡二叉树

  平衡二叉树(Balance Factor Tree,简称 AVL树)是一个特殊的二叉树,它可以是空树。如果不为空,它任一结点左、右子树高度差的绝对值不超过 1,即 |BF(T)| ≤ 1。其中,BF 是指 平衡因子(Balance Factory):\(BF(T) = h_{L} - h_{R}\),其中 \(h_{L}\)\(h_{R}\) 分别为 T 的左、右子树的高度。

二叉搜索树结点不同插入次序,将导致不同的深度和平均查找长度 ASL。

给定结点数为 n 的 AVL树 的最大高度为 O(long2N)

二、平衡二叉树的调整

  平衡二叉树 RR 旋转:

img

  平衡二叉树 LL 旋转:

img

  平衡二叉树的 LR 旋转:

img

  平衡二叉树的 RL 旋转:

img