数据结构第四章(平衡二叉树的定义以及四种旋转使二叉树变成平衡二叉树的方法)

 

“平衡因子”:BF(T)=h(L)-h(R)

其中h(L)和h(R)分别为T的左右子树的高度。

平衡二叉树 (AVL树(提出平衡树的人名首字母)) 空树或者任一节点左右子树高度差的绝对值不超过1,即-1=

 

平衡二叉树的调整:

记住一点:无论怎么调整,都要保证还是二叉搜索树,左子树要比根结点小,右子树要比根结点大

 

深度:对于任意结点n,n的深度为从根到n的唯一路径长,根的深度为0

高度:对于任意结点n,n的高度为从n到一片树叶的最长路径长,所有树叶的高度为0

两个结点间的路径长度:为两个结点间路径边的条数。

数据结构第四章(平衡二叉树的定义以及四种旋转使二叉树变成平衡二叉树的方法)_第1张图片

 

 

数据结构第四章(平衡二叉树的定义以及四种旋转使二叉树变成平衡二叉树的方法)_第2张图片

当破坏者是在被破坏者的右子树的右子树上时,应该RR旋转保持平衡(过程如下)

将被破坏者也就是发现者的右子树提上来,由于平衡二叉树也是二叉搜索树,所以BL一定比B小 比A大,则放到A的右边。

 

 

数据结构第四章(平衡二叉树的定义以及四种旋转使二叉树变成平衡二叉树的方法)_第3张图片

 

数据结构第四章(平衡二叉树的定义以及四种旋转使二叉树变成平衡二叉树的方法)_第4张图片

 

数据结构第四章(平衡二叉树的定义以及四种旋转使二叉树变成平衡二叉树的方法)_第5张图片

 

 

你可能感兴趣的:(数据结构)