行业资讯
您现在所在的位置:首页>企业动态>行业资讯

平衡二叉树概述

编辑:学到牛牛IT培训    发布日期: 2023-09-26 09:06:29  


在介绍平衡二叉树之前,我们需要先了解一下排序二叉树。因为平衡二叉树的前提就是该树为排序二叉树。

排序二叉树:

一颗空树,或者是具有下列特点的二叉树。

· 若左子树不为空,则左子树所有节点的值小于根节点。

· 若右子树不为空,则右子树所有节点的值大于根节点。

· 左右子树也都是二叉排序树。

· 没有键值相等的特点。

平衡二叉树的基本概念:

平衡二叉树(Self-Balancing Binary Search Tree 或 Height-Balanced Binary Search Tree)是一种排序二叉树,其中每一个节点的左子树和右子树的高度差至多等于1。即任意节点的子树高度差都小于等于1。

只要二叉树上有一个节点的平衡因子绝对值大于1,则该树不为平衡二叉树。

·平衡因子:二叉树上节点的左子树深度减去右子树深度的值。

平衡二叉树的特点:

平衡二叉树若不为空树的话,则需要满足以下特点。

· 是一个排序二叉树。

· 左子树与右子树都是平衡二叉树,且左子树与右子树深度之差不超过1。

· 平衡二叉树上所有节点的平衡因子只能是-1,0,1。

例如:

1.png

2.png

例中都不是平衡二叉树,因为都不满足排序二叉树的概念。前者不满足排序二叉树,后者深度绝对值大于1。

满足排序二叉树的同时,左右子树之间深度差值大于1即为平衡二叉树。如下:

3.png

平衡二叉树操作:

在平衡因子绝对值大于1时,平衡二叉树会失衡,此时需要旋转纠正。旋转方式有两种:分为左旋和右旋。

· 左旋:

① 旧根节点为新根节点左子树。

② 新根节点左子树若存在,则为旧根节点右子树。

· 右旋:

①旧根节点为新根节点右子树。

②新根节点右子树若存在,则为旧根节点左子树。

旋转纠正类型分为四种:LL型、LR型、RL型、RR型。

· LL型:插入左孩子的左子树,右旋。

· RR型:插入右孩子的右子树,左旋。

· LR型:插入左孩子的右子树,先左旋,再右旋。

· RL型:插入右孩子的左子树,先右旋,再左旋。

LL型右旋:

旧根节点作为新根节点的右子树,新根节点的右子树(如果有)作为旧根节点的左子树。

4.png

RR型左旋:

旧根节点作为新根节点的左子树,新根节点的左子树(如果有)作为旧根节点的右子树。

5.png

LR型左旋:

①旧根节点作为新根节点的左子树,新根节点的左子树(如果有)作为旧根节点的右子树。

②旧根节点作为新根节点的右子树,新根节点的右子树(如果有)作为旧根节点的左子树。

6.png

RL型左旋:

① 旧根节点作为新根节点的右子树,新根节点的右子树(如果有)作为旧根节点的左子树。

② 旧根节点作为新根节点的左子树,新根节点的左子树(如果有)作为旧根节点的右子树。

7.png

免费试学
课程好不好,不如实地听一听

封闭学习

2

1

联系我们

电话:028-61775817

邮箱:1572396657@qq.com

地址:成都市金牛区西城国际A座8楼

  • 新闻频道_关注IT技术应用资讯-学到牛牛
    新闻频道_关注IT技术应用资讯-学到牛牛

    扫一扫,免费咨询

  • 新闻频道_关注IT技术应用资讯-学到牛牛
    新闻频道_关注IT技术应用资讯-学到牛牛

    微信公众号

  • 新闻频道_关注IT技术应用资讯-学到牛牛
新闻频道_关注IT技术应用资讯-学到牛牛

学一流技术,找高薪工作

新闻频道_关注IT技术应用资讯-学到牛牛

7-24小时服务热线:

028-61775817

版权声明 网站地图

蜀ICP备2021001672号

课程问题轻松问