多叉树——B树和B+树

本文详细介绍了B树和B+树的概念、定义、查找、插入和删除操作,包括它们在数据库和文件系统中的应用。B树是平衡多路查找树,适合大块数据的读写操作;B+树则通过所有数据存储在叶子节点,形成有序链表,优化了顺序访问。文章通过实例解析了B树和B+树的操作过程。
摘要由CSDN通过智能技术生成

目录

 

1 介绍

2 B树

2.1 B树的定义

2.2 B树的查找

2.3 B树的插入

2.4 B树的删除

2.5 B树的应用

3 B+树

3.1 定义

3.2 B+树的插入

3.3 B+树的删除


1 介绍

树家族是为了实现方便快捷的查找而存在的。树的高度是命中查找的一个不可抗拒的时间下限。在一定的数据条件下,树的高度和宽度是相互制约的。对于二叉树来说,虽然易于实现,却没有实际的价值。因为二叉树的宽度固定,使树的高度无法减小,因此出现了多叉树。B树、B+树都属于多叉树。MySQL和Berkeley DB都是基于B树原理而建立数据库的。B树是一种可实现的平衡多路查找树。平衡m叉查找树是指每个关键字的左侧子树与右侧子树的高度差的绝对值不超过1的查找树。

2 B树

2.1 B树的定义

B树在维基百科是这么定义的:“在计算机科学中,B树(B-Tree)是一种树状数据结构,它能够存储数据,对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉排序树。与自平衡二叉查找树不同,B-树为系统最优化大块数据的读和写操作。普遍运用在数据库文件系统。”

B树中所有节点的最大孩子节点数被称为B树的阶,通常用m来表示。一棵m阶B树可以是一棵空树,也可以是满足一下条件的m叉树。

1)每个节点最多有m个子结点,即每个节点最多有m-1个关键字最少子节点要看是否为根节点,如果是非叶子节点的根节点,则至少要有2个节点,其他非根节点非叶节点至少要有[m/2]个节点,[m/2]表示m/2向上取整。

2)如果一个节点有n-1个关键字,则子节点有n个。这n-1个关键字按照递增的顺序排列。

3)每个节点的结构为:

n k1

k2

.... kn
p0 p1 p2 ... pn

其中,n为节点中关键字的个数;ki为该节点的关键字且ki<k(i+1);pi为该节点的孩子节点指针且满足pi所指向的子节点的关键字都大于ki且小于k(i+1),p0所指向的子节点的关键字小于k1,pn所指向的子节点的关键字大于kn。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值