一.二叉平衡树概念
- 又称AVL(G.M. Adelson-Velsky 和 E.M. Landis树), 二叉平衡树是二叉查找树的另一种形式。
- 它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树或右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。
1.平衡因子
叉树上任一结点的左子树深度减去右子树深度的差值,称为此结点的平衡因子。
深度:从某结点到根节点的所走的“树干”数目
2.特点
树中每个结点的左、右子树深度之差的绝对值不大于1
二.构造平衡二叉树
构造二叉平衡(查找)树的方法是:
在插入过程中,采用平衡旋转技术。
如何选取旋转的轴? 选离插入点最近的不平衡结点的孩子结点。
1. LL型:顺时针旋转一次
(1)
(2)
2. RR型:逆时针旋转一次
(1)
(2)
3.LR型:先逆时针旋转,再顺时针旋转,先左后右
(1)
(2)
4.RL型:先顺时针旋转,再逆时针旋转
(1)
(2)
三、平衡树的查找性能分析:
1.深度为 h 的二叉平衡树中所含结点的最小值 Nh 是多少?
2.二叉平衡树上进行查找时,查找过程中和给定值进行比较的关键字的次数和 log(n) 相当。