5、5_2_平衡二叉树.pdf
《5、5_2_平衡二叉树.pdf》由会员分享,可在线阅读,更多相关《5、5_2_平衡二叉树.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2020/3/13王道考研/1本节内容平衡二叉树(AVL)王道考研/CSKAOYAN.COM1王道考研/CSKAOYAN.COM知识总览知识总览22020/3/13王道考研/2王道考研/CSKAOYAN.COM平衡二叉树的定义平衡二叉树的定义平衡二叉树(Balanced Binary Tree),简称平衡树(AVL树)树上任一结点的左子树和右子树的高度之差不超过1。结点的平衡因子=左子树高-右子树高。50262166706030682621305060666870只要有任一结点的平衡因子绝对值大于1,就不是平衡二叉树G. M. Adelson-Velsky和E. M. Landis000-10
2、10-1平衡二叉树结点的平衡因子的值只可能是1、0或1。00-1-2-3-4-5-53王道考研/CSKAOYAN.COM平衡二叉树的插入平衡二叉树的插入在二叉排序树中插入新结点后,如何保持平衡?5026216670603068000-1010-15026216670603068000-2021-2670插入67查找路径上的所有结点都有可能受到影响从插入点往回找到第一个不平衡结点,调整以该结点为根的子树每次调整的对象都是“最小不平衡子树”42020/3/13王道考研/3王道考研/CSKAOYAN.COM5026216670603068000-2021-2670每次调整的对象都是“最小不平衡子树”
3、5026216670603068000-1000-1670平衡二叉树的插入平衡二叉树的插入在插入操作中,只要将最小不平衡子树调整平衡,则其他祖先结点都会恢复平衡5王道考研/CSKAOYAN.COM调整最小不平衡子树调整最小不平衡子树62020/3/13王道考研/4王道考研/CSKAOYAN.COM调整最小不平衡子树(调整最小不平衡子树(LL)1)LL平衡旋转(右单旋转)。由于在结点A的左孩子(L)的左子树(L)上插入了新结点,A的平衡因子由1增至2,导致以A为根的子树失去平衡,需要一次向右的旋转操作。将A的左孩子B向右上旋转代替A成为根结点,将A结点向右下旋转成为B的右子树的根结点,而B的原右
4、子树则作为A结点的左子树。ABARBLBRHHHABARBLBRH+1HHABARBLBRH+1HH0112二叉排序树的特性:左子树结点值 根结点值 右子树结点值BLBBRAAR00LL插入右旋B目标:1.恢复平衡;2.保持二叉排序树特性思考:为什么要假定所有子树的高度都是H?最小不平衡子树7王道考研/CSKAOYAN.COM调整最小不平衡子树(调整最小不平衡子树(RR)ABALBLBRHHH0-1二叉排序树的特性:左子树结点值 根结点值 右子树结点值ALABLBlchild/rchildp实现 f 向右下旋转, p 向右上旋转:其中 f是爹,p为左孩子,gf为f他爹 f-lchild = p
5、-rchild; p-rchild = f; gf-lchild/rchild = p;f实现 f 向左下旋转, p 向左上旋转:其中 f是爹,p为右孩子,gf为f他爹 f-rchild = p-lchild; p-lchild = f; gf-lchild/rchild = p;左旋ABALBLBRBBLBRAALpf左旋、右旋操作后可以保持二叉排序树的特性BLBBRAARALABLBBR9王道考研/CSKAOYAN.COM调整最小不平衡子树(调整最小不平衡子树(LR)ABARBLBRHHHABARBLBRH+1HH01-12LR插入ABARBLCRHHH12CCLH-1-1也有可能是插入到
6、C的左子树3)LR平衡旋转(先左后右双旋转)。由于在A的左孩子(L)的右子树(R)上插入新结点,A的平衡因子由1增至2,导致以A为根的子树失去平衡,需要进行两次旋转操作,先左旋转后右旋转。先将A结点的左孩子B的右子树的根结点C向左上旋转提升到B结点的位置,然后再把该C结点向右上旋转提升到A结点的位置102020/3/13王道考研/6王道考研/CSKAOYAN.COM调整最小不平衡子树(调整最小不平衡子树(LR)ABARBLCRHHH-12CCLH-1AARCRHH2CCLH-1BBLH1左旋C右旋CCRHCCLH-1BBLH1AARH01-10BLBCLC CRAAR11王道考研/CSKAOY
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- _2_ 平衡 二叉
限制150内