数据结构B树:入门理解和性质总结(笔记)

B树(多路查找树)

一、2-3树:

1、定义:2-3树是一棵多路查找树:其中每一个结点都具有两个孩子(2结点)或三个孩子(3结点)。
2、特点
  • 一个2结点包含两个孩子和一个元素;
  • 一个3结点包含两个孩子和三个元素;
  • 2结点要么有两个孩子要么孩子为0,不存在只有一个孩子,3结点同理;
  • 所有叶子结点都在同一层上;
  • 2结点中,左子树的值小于右子树;3结点中,左子树的值小于中子树的值小于右子树的值;
  • 除了结点中孩子的个数外,整体上符合二叉排序树的结构;
    2结点
    3结点
    (插入和删除操作了解即可,关键掌握其定义和特点)
3、插入操作
  • 若将结点插入到一个2结点上,那么将其升级成3结点即可;
  • 若往3结点中插入一个元素,则要将其拆分,且将树中两元素或插入元素的三者中选择其一向上移动一层,如果上一层依然是3结点,则再向上一层移动,以此类推;(一般选取三个元素中中间大小的元素,那么上一层就形成了3结点,将最小的元素放置中子树,将最大的元素放置右子树)
  • 若使根结点拆分,就会形成满二叉树
4、删除操作
  • 若是3结点中元素的删除,使它变成2结点即可;
  • 若是删除2结点的的元素,要对其进行旋转或重新颠倒,要考虑其他3结点的元素进行补充;
  • 所删除的元素位于非叶子结点,我们通常将按中序遍历后得到此元素的前驱或后继元素,考虑让它们来补位;

二、2-3-4树:

1、定义:实质上是2-3树的扩展,一个4结点包含了小中大3个元素和4个孩子(或没有孩子);
2、性质与2-3树的性质类似:

value1 < value2 < value3 < value4
4结点

三、B树:

注意:B树也可以写作B-树,读作B树,而不是B减树,两者之间没有区别,都是同一种树
1、定义:B树是一种平衡的多路查找树,结点最大的孩子数目成为B树的阶数(order);,例如2-3树是3阶B树,2-3-4树是4阶B树;
2、性质:
  • 所有叶子结点都位于同一层次
  • 如果根结点不是叶节点,则其至少有两颗子树
  • 每一个非根的分支结点都有k-1个元素和k个孩子,其中[m/2] ≤ k ≤ m;换句话说,每一个非根的分支结点至少有 m/2-1 个元素和 m/2 个孩子;
  • 每一个叶子结点都有k-1个元素,其中[m/2] ≤ k ≤ m;
  • 在创建的过程中,B树的阶数是一直可变的;
  • 每结点可以具有比二叉树多得多的元素;
  • 所有分支结点包含下列信息数据(n, A0, K1, A1, K2, A2, , Kn, An), 其中K为关键字,且Ki < Ki+1(i = 1, 2, ,n-1); Ai(i = 0, 2, , n)为指向子树根结点的指针,且指针Ai-1所指向子树中的所有结点的关键字均小于Ki(i = 1, 2, , n),An所指向子树中所有结点的关键字均大于Kn,n([m/2]-1 ≤ n ≤ m-1)为关键字的个数(或n+1为子树的个数)。

三、B+树:

1、应用背景:在B树中,不断地访问可能导致不断重复访问结点中的元素。
2、特殊的性质:
  • 出现在分支结点的元素会被当作它们在该结点位置的中序后继者(叶子结点)中再次列出;
  • 所有的关键字都会被存储在叶子结点中;
  • 每一个叶子结点都会保存一个指向后一个叶子结点的指针;
  • 有n棵子树的结点中包含有n个关键字;
  • 所有的叶子结点包含全部的关键字信息,及指向含这些关键字记录的指针,叶子结点本身依关键字的大小自小而大的顺序链接;
  • 所有分支结点可以看作索引,结点中仅含其子树中的最大或最小关键字
3、应用背景:
  • 如果从最小关键字开始查找,我们就可以从最左侧的结点开始查找,不用经过分支结点,而是沿着指向下一叶子的指针就可以遍历所有的关键字;
  • 适合带有范围的查找。我们可以通过根结点出发找到某个关键字,然后再再叶子结点按顺序查找到符合范围的所有记录;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值