美文网首页
【数据结构】【C#】030-平衡二叉树(AVL):🌴结构特征

【数据结构】【C#】030-平衡二叉树(AVL):🌴结构特征

作者: lijianfex | 来源:发表于2018-11-17 00:04 被阅读6次

    为了t提高二叉搜索树的查找效率,我们要尽可能的保持树的高度不要过高,也就是不要一边倒,让树的左右子树基本保持相同的高度或者差不多的节点数目,从而我们引入了 平衡二叉树的概念。

    一、什么是平衡二叉树?

    平衡因子(Balance Factor,简称BF)BF(T) = hL-hR其中hL和hR分别为T的左、右子树的高度
    平衡二叉树(Balanced Binary Tree)(AVL树) : 空树,或者 任一结点左、右子树高度差的绝对值不超过1,即|BF(T) |≤ 1


    二、平衡二叉树最大高度问题

    平衡二叉树的高度能达到log2n吗?

    设 h 高度为h的平衡二叉树的最少结点数。结点数最少时:

    此时满足 :


    结论 :给定结点数为 n的AVL树的 最大高度为O(log2n)


    三、平衡二叉树的调整

    要保证始终是平衡二叉树,就必然要在 插入 删除操作后对树进行调整,让其的|BF(T) |≤ 1
    所以平衡二叉树的重要操作是调整树,下篇笔记将介绍四种平衡二叉树插入调整

    相关文章

      网友评论

          本文标题:【数据结构】【C#】030-平衡二叉树(AVL):🌴结构特征

          本文链接:https://www.haomeiwen.com/subject/qeumfqtx.html