Implement of AVL_Tree using Cpp
Introduction
AVL_tree是平衡二叉树的一种,能够自动维持平衡。维持平衡的方式则是通过单旋转与双旋转来实现。AVL_Tree规定了子节点的高度相差不超过1,大于等于2时,对树进行调节,使之重新符合要求。
二叉树中,不平衡的情况主要可以分为四种,本质上其实是两种:
- 上图中, root 是根节点,后缀 R 、
- h 代表本节点的高度,当某个分支比另外一个分支高2时,可以分为四种情况:
-