二叉树、红黑树、B树总结

本文详细介绍了二叉树、二叉查找树和平衡二叉树的概念,强调了平衡的重要性。接着深入讲解了红黑树的特性和操作,包括查找、插入和删除的时间复杂度。此外,还对比了红黑树与平衡二叉树的差异。最后,文章探讨了B树、B+树和B*树,分析了它们的特点和适用场景,指出B+树在数据库中的广泛应用及其对区间查询的支持。
摘要由CSDN通过智能技术生成


 

1. 二叉树

1.1. 二叉树

二叉树的递归定义为:

  1. 二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;
  2. 左子树和右子树又同样都是二叉树
     
     

1.2. 二叉查找树

对于树中每个节点:

  1. 左子树上所有结点的值均小于或等于它根结点的值。
  2. 右子树上所有结点的值均大于或等于它根结点的值。
  3. 左、右子树也分别为二叉查找树。

查找的时间复杂度

  • 根结点出发,沿某一个路径朝叶子结点前进。因此查找中数据比较次数与树的形态密切相关。
  • 当树中每个结点左右子树高度大致相同时,树高为log2(N)。查找的平均时间复杂度为O(log2(N))。
  • 单支树结构,此时树高n。平均查找长度为(n+1)/2,时间复杂度为O(N)。
     
     

1.3. 平衡二叉树

在符合二叉查找树的条件下,满足任何节点的两个子树的高度最大差为1。

时间复杂度

  • 查找

最坏的情况也是O(log2(N))

  • 插入

插入结点操作最多只需要旋转1次

  • 删除

每一次删除操作最多需要log2(N)次旋转
 
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值