无量之网 2022-07-18 02:30 采纳率: 0%
浏览 31

平衡二叉树 调整的复杂度

关于平衡二叉树插入或删除节点后的调整, 会有一种最坏状况.

比如插入点在最左端, 但唯一的空支在最右端, 如下图所示, 62个节点, 只有右下角一个空支, :

img

如果我要在这个平衡二叉树插入一个 "-1", 经过比较他首先成为 "0" 的左支, 就会导致不平衡, 为了重建平衡, 所有元素都会向右串, 直到最右端的空支被填补.

这个复杂度有多大? 还是说有更简单的方法? 我查了很多文章, 都是拿两三层的平衡二叉树来讲解左旋右旋, 为什么没有用大量数据举例的呢.

  • 写回答

1条回答 默认 最新

  • 「已注销」 2022-07-18 08:55
    关注

    左子树与右子树的高度之差的绝对值小于等于1。
    ②左子树和右子树也是平衡二叉排序树。
    引入平衡二叉排序树的目的,为了提高查找效率,其平均查找长度为O(log2n).
    结点的平衡因子( Balance Factor)定义为:结点的左子树深度与右子树深度之差。显然,对一棵平衡二叉排序树而言,其所有结点的平衡因子只能是-1、0或1.当在一个平衡二叉排序树上插入一个结点时,有可能导致失衡,即出现绝对值大于1的平衡因子。

    评论

报告相同问题?

问题事件

  • 修改了问题 7月18日
  • 创建了问题 7月18日

悬赏问题

  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 苍穹外卖拦截器token为null
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关