• 二叉树平衡因子


    网址引用:https://blog.csdn.net/luzhensmart/article/details/85275100

    一、二叉树的基本概念

    二叉树:二叉树是每个节点最多有两个子树的树结构。

    根节点:一棵树最上面的节点称为根节点。

    父节点、子节点:如果一个节点下面连接多个节点,那么该节点称为父节点,它下面的节点称为子 节点。

    叶子节点:没有任何子节点的节点称为叶子节点

    兄弟节点:具有相同父节点的节点互称为兄弟节点。

    节点度:节点拥有的子树数。上图中,13的度为2,46的度为1,28的度为0。

    树的深度:从根节点开始(其深度为0)自顶向下逐层累加的。上图中,13的深度是1,30的深度是2,28的深度是3。

    树的高度:从叶子节点开始(其高度为0)自底向上逐层累加的。54的高度是2,根节点23的高度是3。

    对于树中相同深度的每个节点来说,它们的高度不一定相同,这取决于每个节点下面的叶子节点的深度。上图中,13和54的深度都是1,但是13的高度是1,54的高度是2。

    a)平衡二叉树

    此节点往下 左子树深度 - 右子树深度=平衡因子

    1:5的结点平衡因子就是 3 - 2 = 1;以5为跟节点,5的深度是0,2 1 4 3都是以5为跟节点的左子树 6 7 都是以5为跟节点的右子树

    深度对应:5深度为:0 2深度为:1 1和4深度为:2 3深度为:3 6深度为:1 7深度为:2

    左子树深度3 右子树深度2

    2:2的结点平衡因子就是 1 - 2 = -1;

    屏蔽2以上的节点 此时以2为跟节点:左子树

    2深度为:0 1深度为:1  4深度为:1 3深度为:2

    左子树深度1 右子树深度2

    3:4的结点平衡因子就是 1 - 0 = 1;

    4为跟节点 屏蔽其他

    4深度为:0 3深度为:1 左子树深度1 右子树深度0

    4:6的结点平衡因子就是 0 - 1 = -1;

    叶子结点都是为 0;

    (b)不平衡二叉树

    此节点往下 左子树深度- 右子树深度=平衡因子

    3 的结点平衡因子就是 2 - 4 = -2;

    1 的结点平衡因子就是 0 - 1 = -1;

    4 的结点平衡因子就是 0 - 3 = -3;

    5 的结点平衡因子就是 0 - 2 = -2;

    6 的结点平衡因子就是 0 - 1 = -1;

    叶子结点都是为 0;

  • 相关阅读:
    Maven入门
    Windows Java安装
    cdh安装spark遇到的几个BUG
    SQL Server创建存储过程——动态SQL
    IDEA搭建scala开发环境开发spark应用程序
    liunx命令
    java常用 api
    缓存一致性问题
    git 命令
    nginx
  • 原文地址:https://www.cnblogs.com/bruce1992/p/16214285.html
Copyright © 2020-2023  润新知