首页 > 编程知识 正文

平衡二叉树例题,如何使二叉排序树达到平衡

时间:2023-05-03 20:58:22 阅读:157512 作者:4061

平衡二叉树也称为AVL树,既是空树,又是具有以下性质的二叉树。 左右两边的树是平衡二叉树,

且以左子树和右子树深度之差的绝对值不超过1的方式,将二叉树上的节点的平衡因子BF定义为从该节点的左子树的深度减去其右子树的深度,

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

只要二叉树上一个节点的平衡因子的绝对值大于1,这个二叉树就不均衡。 AVL树上的任何节点的左右子树的深度之差都在1以下

可以证明其深度与log2n为同一数量级(n为节点数)。

因此,平均寻道长度也与log2n的数量级相同。

但是,此问题针对的是平均寻道长度,而不是最大寻道次数:

问题的具体例子:例如在包含12个节点的平衡二叉树中,寻找某个节点最多的比较次数是?

这是一个正确的问题,因为我们听到了具体的12个节点的平衡二叉树。

可以画出这个节点数为12的平衡二叉树的图

如上图所示,最大比较将到达深度最大的节点,最终为5次,而不是log2N4

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。