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个关键字,该节点是满的。

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

最低0.47元/天 解锁文章
335

被折叠的 条评论
为什么被折叠?



