原文:B树的 JAVA 实现

因为感觉对 B 树的理解不是特别深刻,一直想手撸一个 B 树,这次终于得偿所愿,文末有完整的 B 树代码。 代码比较长,大概六百行。 B 树的代码使用了一百组数据进行 插入 删除 测试,结果正确。 从生产讲,实现一棵 B 树不会有什么实际意义,但是这些代码和构建这些代码的思路,都将成为我们职业素养的一部分。 什么是B树 在 年,Bayer McCreight发表的论文 ORGANIZATION ...

2020-02-26 15:25 2 1348 推荐指数:

查看详情

B+ -- Java实现

一、B+定义 B+定义:关键字个数比孩子结点个数小1的。 除此之外B+还有以下的要求: B+包含2种类型的结点:内部结点(也称索引结点)和叶子结点。根结点本身即可以是内部结点,也可以是叶子结点。根结点的关键字个数最少可以只有1个。 B+B最大的不同是内部结点 ...

Sat Mar 30 07:43:00 CST 2019 1 2073
BJava代码实现以及测试

B定义   B 又叫平衡多路查找。一棵m阶的B (m叉树)的特性如下: 根节点至少有两个孩子 每个非根节点至少有M/2(上取整)个孩子,至多有M个孩子。 每个非根节点至少有M/2-1(上取整)个关键字,至多有M-1个关键字。并以升序排列 ...

Fri Oct 25 12:07:00 CST 2019 1 685
java-实现B+

参考:https://www.cnblogs.com/jing99/p/11741685.html https://www.cnblogs.com/ll9507/p/11616417.html B+---一种多路平衡查找 ①与二叉树,红黑等相比,最大的不同就是一个节点可以有多个 ...

Sun Sep 27 03:34:00 CST 2020 0 643
B+的算法(java实现

定义   一颗m阶B+满足以下几个条件:   1.除根节点外的节点的关键字个数最大为m-1,最小为m/2   2.除叶节点外的每个节点的孩子节点的数目为该节点关键字个数加一,这些孩子节点的的关键字的范围与父节点关键字的大小对应(这个看图才看的清楚)   3.叶子节点存放 ...

Wed Oct 02 07:05:00 CST 2019 0 914
BB+实现

B的定义   假设B的度为t(t>=2),则B满足如下要求:(参考算法导论) (1) 每个非根节点至少包含t-1个关键字,t个指向子节点的指针;至多包含2t-1个关键字,2t个指向子女的指针(叶子节点的子女为空)。 (2) 节点的所有key按非降序存放,假设节点的关键字分别为 ...

Thu Aug 27 19:01:00 CST 2015 0 2729
B+Java代码实现以及测试

M阶B+的定义: 任意非叶子结点最多有M个子节点;且M>2; 除根结点以外的非叶子结点至少有 M/2个子节点; 根结点至少有2个子节点; 除根节点外每个结点存放至少M/2和至多M个关键字;(至少2个关键字) 非叶子结点的子树指针与关键字个数相同; 所有结点 ...

Sat Oct 26 12:28:00 CST 2019 0 780
自己写的java实现的多路搜索 B-Tree

最近需要写范围查询的功能,最简单的应该是B+吧,在了解B+的时候,也看到了B-。于是想先实现B-Tree再实现B+Tree,结果网上并没有找到B-Tree(多路搜索),于是自己用java实现了一个,经过自己设计了很多测试用例,用Junit(临时学的)测试可用。在这里贴出来,希望能给初学者 ...

Thu Jan 21 05:23:00 CST 2016 1 3461
B及2-3的python实现

B(或称B-)是一种适用于外查找的,它是一种平衡的多叉树。 阶为M的B具有下列结构特征: 1.的根或者是一片树叶,或者其儿子数在2和M之间。 2.除根节点外的所有非树叶节点儿子数在┌M/2┐和 M之间。 3.所有的树叶都在相同的高度。 4.节点中包括n个关键字,n+1个指针 ...

Wed Jun 18 06:40:00 CST 2014 0 4661
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM