算法导论---B树

B树是一种为磁盘存储设计的平衡搜索树,其性能主要看动态集合操作时间和磁盘存取次数。每个节点包含关键字个数有上下界,叶节点深度相同。B树的基本操作包括搜索、创建和插入,根节点常驻内存,操作涉及磁盘读写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

B树

这是为磁盘存储而专门设计的一类平衡搜索树。由于磁盘访问相对访存极慢,因此度量B树的性能,考虑

a. 动态集合操作消耗的计算时间

b. 执行了多少次的磁盘存取。
对每个B树操作,磁盘存取的次数随着B树的高度增加。

B-tree定义

第1. 每个节点x有:

a. x.n保存节点x的关键字个数。

b. x.n个关键字不严格升序存放

c. x.leaf是布尔值,若x是叶节点,则为true;否则false。

第2. 每个内部节点x还包括x.n+1个指向孩子的指针x.c1, x.c2, …。叶节点c属性没有意义。

第3. 关键字x.key,对存储在各子树中的关键字范围加以分割:如果ki为任意一个存储在以x.ci为根的子树种的关键字,那么:

第4. 每个叶节点具有相同的深度,即树的高度为h。

第5. 每个节点所包含的关键字个数有上界和下界。最小度数t>=2表示这些界限。

a. 除了根结点以外的每个节点必须至少有t-1个关键字。因此,除了根结点以外的每个内部节点至少有t个孩子。对于根结点,如果树非空,根结点至少有一个关键字。

b. 每个节点至多包含2t-1个关键字。因此,内部节点至多2t个孩子。当一个节点有2t-1个关键字,该节点是满的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值