个人对B树的理解

本文介绍了B树的基本概念、查找、插入和删除操作。B树是一种平衡多叉查找树,适用于大量数据的高效存储。插入操作从叶子节点开始,删除操作可能涉及重平衡以保持树的结构。B树的查找过程类似于二叉查找树,通过键值进行比较。文章详细阐述了B树在删除操作时如何处理不同情况,包括删除叶子节点和内部节点,并解释了删除后如何进行重平衡以保持平衡状态。
摘要由CSDN通过智能技术生成
前言

动态查找树有多种,二叉查找树、平衡二叉查找树、红黑树等。这些树的时间复杂度都为O(log2H),和树的深度有关,所以减小树的深度就可以提升查找的性能。由此就诞生了B树。

定义

B树,又称平衡多叉查找树。对于一个m阶的B树它必须满足以下一些特性:

  1. 每个节点最多只能存在m个子节点(或是子树)。
  2. 每个非叶子节点(根节点除外),都至少有ceil[m/2]个子节点(或是子树)。
  3. 根节点如果是非叶子节点,那它至少存在2个子节点(或是子树)。
  4. 非叶子节点如果存在k个子节点(或是子树),那么它就包含k-1个key。
  5. 所有叶子出现在同一层。

每个非叶子节点的key都充当分割值,将其子树分开。图中7、16就是两个key,将子树分割成了三块(<7、7<x<16、>16)。

查找

B树的查找类似与二叉查找树,从根节点自上而下的递归查询,在每一层上都按照key的大小来查找自己想要的子树。一般地,会在查找key的子树时使用二分查找法来提高性能。

插入

所有的插入都是从叶子节点开始的,必须先搜索树,查找到新节点应该插入的叶子节点,并将

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值