`

B- Tree

    博客分类:
  • odb
阅读更多

为了测试B-树,写了个测试程序。保存ERICHANOK这个字符数组,字符按照字母表排序。

保存示意图:

 

 

 

附:

1972年R.Bayer和E.M.McCreight提出了一种称之为B-树的多路平衡查找树。它适合在磁盘等直接存取设备上组织动态的查找表。

 

B-是一种多路搜索树(并不是二叉的):

一个层数为m的b- tree
根结点的儿子数为[2, m];
除根结点以外的非叶子结点的儿子数为[m/2, m];


每个结点存放至少m/2-1(取上整)和至多m-1个关键字;(至少2个关键字)
非叶子结点的关键字个数=指向儿子的指针个数-1;
非叶子结点的关键字:K[1], K[2], …, K[m-1];且K[i] < K[i+1];
非叶子结点的指针:P[1], P[2], …, P[m];其中P[1]指向关键字小于K[1]的子树,P[m]指向关键字大于K[m-1]的子树,其它P[i]指向关键字属于(K[i-1], K[i])的子树;


所有叶子结点位于同一层

分享到:
评论

相关推荐

    B-Tree B-Tree

    **B-Tree详解** B-Tree(B树),是一种自平衡的树数据结构,它能够保持数据排序,常用于数据库和文件系统中。B-Tree的主要特性是节点可以拥有多个子节点,通常远多于二叉树。这种数据结构允许高效地在大型数据集上...

    B-tree与B+tree简介

    B-tree与B+tree简介 B-tree和B+tree是两种常用的索引结构,广泛应用于数据库系统和文件系统中。它们的出现是为了解决大规模数据存储中索引查询效率低下的问题。 一、前言 动态查找树主要有三种类型:二叉查找树...

    B-tree--BP-tree--B--tree--R-tree.rar_B+_R-Tree_b+tree_btree转换为rt

    在《B-tree--BP-tree--B--tree--R-tree.rar》这个压缩包中,包含了对这四种数据结构的详细解释和比较,是学习和理解这些概念的重要参考资料。通过阅读《B-tree》、《B+ tree》、《B tree》和《R tree》这四个文档,...

    B-Tree(C++ 源码)

    B-Tree的C++版本,可以实现B树的建立,插入,查找,删除,本代码中默认为3阶B-Tree,通过修改宏定义,可以修改为任意阶B-Tree

    Oracle8i 数据库中B-tree索引的维护

    在Oracle数据库中,B-tree索引是一种常用的索引类型,特别是在Oracle8i版本中。B-tree索引基于二叉树数据结构,能够高效地支持等值查找、范围查找和排序操作。这种索引的主要特点是其分层结构,使得数据访问速度较快...

    The Ubiquitous B-Tree

    本文讨论的主题是B树(B-tree),一种被广泛应用于文件组织的标准结构。作者Douglas Comer通过本文回顾了B树的基本概念、成功的原因,并深入探讨了其主要变体——B+树的特点和应用场景。 #### B树概述 B树是一种自...

    b-tree-b-tree-b-tree.zip

    B-Tree排序词典

    谷歌 B-Tree C++ 模板库.

    谷歌 B-Tree C++ 模板库 介绍 谷歌开源团队近日发布了C++ B-Tree,这是一个C++模板库,实现了基于B-tree数据结构的有序内存容器。类似于STL的map、set、multimap和multiset模板,C++ B-tree也提供了btree_map、...

    b-tree

    **B树(B-tree)详解** B树,全称为平衡多路查找树(Balanced Multiway Search Tree),是一种自平衡的树数据结构,主要用于数据库和文件系统中。它能够保持数据排序,允许对数据进行快速查找、插入和删除操作。B树...

    08 B-Tree.rar

    **数据结构:B-Tree详解** B-Tree(B树),一种自平衡的树数据结构,广泛应用于数据库和文件系统中,以优化对大量数据的访问效率。B-Tree是多路搜索树,每个节点可以有多个子节点,通常2到32个之间。其设计目标是...

    08 B-Tree.zip

    在“08 B-Tree.zip”这个压缩包中,很可能包含了严蔚敏教授编写的关于数据结构与算法的课本中,对B-Tree的算法实现的详细讲解和示例代码。 B-Tree的主要特征是每个节点可以有多个子节点,这些子节点按照排序顺序...

    Java 的 B-Tree 相关内容

    Java中的B-Tree(B树)是一种自平衡的查找树数据结构,广泛应用于数据库和文件系统中,以高效地存储和检索大量数据。B-Tree的主要特性是它能够保持数据排序,使得插入、删除和搜索操作的时间复杂度在对数级别,这在...

    MySql索引算法原理解析(通俗易懂,只讲B-tree)

    本文主要讲解的是MySQL中的B树(B-tree)索引算法原理,它是最常见的一种索引类型,适用于大多数情况。B树索引是数据库管理系统实现高效查询的核心技术之一。 B树,全称平衡多路查找树,是一种自平衡的树数据结构,...

    用Borland C写的B-Tree算法.zip

    在IT行业中,B-Tree(B树)是一种自平衡的查找树数据结构,它保持数据有序,使得在大型数据集合中的查找、插入和删除操作都能够在对数时间内完成。B-Tree广泛应用于数据库和文件系统中。这个压缩包“用Borland C写的...

    B.rar_B-树索引_B树_b tree_b tree java_java B-Tree

    标题中的"B.rar_B-树索引_B树_b tree_b tree java_java B-Tree"表明这是一个关于B-树实现的压缩文件,其中包含了用Java语言编写的B-树索引代码,并且含有详细的注释。这为学习和理解B-树提供了实践示例。 首先,...

    The Log-Structured Merge-Tree (LSM-Tree).pdf

    在数据量大、更新频繁的环境下,B-tree的I/O成本会非常高,而在这种环境下,LSM-Tree的写入放大效果(write amplification)相对较小,能更好地适应高并发写入的场景。 此外,LSM-Tree不仅适用于插入和删除操作,它...

    索引基础——B-Tree、B+Tree、红黑树、BTree数据结构1

    B-Tree,B+Tree,红黑树以及B*Tree都是数据结构中常见的索引类型,主要用于数据库和文件系统的索引构建,以提高数据检索效率。它们都是多路搜索树,区别在于节点的分配方式、搜索策略以及平衡机制。 首先,B-Tree是...

Global site tag (gtag.js) - Google Analytics