美文网首页MySQL相关
B树,B+树,B*树

B树,B+树,B*树

作者: 柳蒿 | 来源:发表于2019-10-17 10:32 被阅读0次

与二叉树,红黑树这样的树不同,B树,B+树,B*树是n叉树。

m阶B树的特性:

  1. 每一个节点最多存储的关键字[m/2+1,m-1]
  2. 每一个节点的孩子节点的个数[m/2,m]
  3. 根节点至少有两个子节点
  4. 每个节点包括m个指针(A0,A1,A2)和m-1个数据域(K0,K1,K2),指针k0表示小于关键字小于A0的记录,k1表示A0,A1之间的记录。
  5. 每个节点的子树中所有的节点值都小于根节点
  6. 数据分布在所有节点中,如果要遍历所有的数据,则需要进行一次中序遍历,耗时较长
  7. 在B树中的查找相当于在数据中进行一次二分搜索。

m阶B+树:

每个节点包括m个指针(A0,A1,A2)和m个数据域(K0,K1,K2),指针k0指向最小值数据为A0的一个链表。
在B树的基础上,所有的节点值都在叶子节点上,通常是一个叶子节点有多个值,用链表连接。
所有的叶子节点在同一层,每个叶子节点之间用链表链接起来。查找全部记录更加便捷。

m阶B*树:

是B+树的变体,在相同层的节点之间用链表连接。

小结

二叉搜索树:二叉树,每个结点只存储一个关键字,等于则命中,小于走左结点,大于走右结点;
B(B-)树:多路搜索树,每个结点存储M/2到M个关键字,非叶子结点存储指向关键字范围的子节点。所有关键字在整颗树中出现,且只出现一次,非叶子结点可以命中;
B+树:在B-树基础上,为叶子结点增加链表指针,所有关键字都在叶子结点中出现,非叶子结点作为叶子结点的索引;B+树总是到叶子结点才命中;
B*树:在B+树基础上,为非叶子结点也增加链表指针,将结点的最低利用率从1/2提高到2/3;

https://blog.csdn.net/u013411246/article/details/81088914

相关文章

  • B树、B+树、B*树

    1)什么是B树、B+树、B树?2)B树、B+树、B树的作用?3)B树、B+树、B*树的应用场景? 一、什么是B树、...

  • mysql 浅析

    索引的结构 B+树 二叉查找树、平衡二叉树 、B树、 B+树 B树: B+树: B+树中各个页之间是通过双向链表连...

  • 树-二叉搜索树-平衡二叉树-红黑树-B树B+树

    关于树的总结从二叉树->二叉搜索树->平衡二叉树->红黑树->B树与B+树 B+树介绍 B树、B-树、B+树、B*...

  • B树B-树和B+树的总结

    参考:B树和B+树的总结B树、B-树、B+树、B*树都是什么 总结 利用平衡树的优势加快查询的稳定性和速度;B+树...

  • B+树

    B+树概况 InnoDB使用了B+树索引模型 每个索引在InnoDB里面对应一棵B+树 B+树特点 m阶B+树每个...

  • B树、B+树、B*树

    B-树 B+树 B*树

  • MySQL B+树介绍

    MySQL B+树介绍 B+树的演变 二叉树 --> 二叉查找树 --> 平衡二叉树 --> B树 --> B+树...

  • 聊一聊B+树

    标签: 图解B+树 | B+树代码|mysql 聚集索引|mysql B+树索引| 前言   虽然B+是B-演化过...

  • MySQL索引的底层数据结构

    前言 一、索引类型 B+树 为什么是B+树而不是B树? 首先看看B树和B+树在结构上的区别 可以看到: B树在每个...

  • b树

    b树 b+树

网友评论

    本文标题:B树,B+树,B*树

    本文链接:https://www.haomeiwen.com/subject/avmrmctx.html