MySQL索引底层:B+树详解 - 知乎 (zhihu.com)

漫画:什么是B-树? - 知乎 (zhihu.com)

(40条消息) 数据结构——树的演变_m0_58568357的博客-CSDN博客_数据结构 树的演变

(40条消息) B树、B-树、B+树、B*树介绍_Zzzzzzzz_hu的博客-CSDN博客_b树

什么是平衡二叉树(AVL) - 知乎 (zhihu.com)

(40条消息) 二叉树 到 B+树 的演化过程_huihui-6020的博客-CSDN博客_数据结构 树的演变

(40条消息) 红黑树与平衡二叉树的区别?_qfc8930858的博客-CSDN博客_红黑树和平衡二叉树的区别

树的种类:

树是包含n(n为整数,大于0)个结点, n-1条边的有穷集,它有以下特点:

  • 每个结点或者无子结点或者只有有限个子结点;
  • 有一个特殊的结点,它没有父结点,称为根结点;
  • 每一个非根节点有且只有一个父节点;
  • 树里面没有环路

一些有关于树的概念:

  • 结点的度:一个结点含有的子结点个数称为该结点的度;
  • 树的度:一棵树中,最大结点的度称为树的度;
  • 父结点:若一个结点含有子结点,则这个结点称为其子结点的父结点;
  • 深度:对于任意结点n,n的深度为从根到n的唯一路径长,根结点的深度为0;
  • 高度:对于任意结点n,n的高度为从n到一片树叶的最长路径长,所有树叶的高度为0;

树的种类

B树中的M阶是什么含义?

img

描述一颗 B树时,需要指定它的阶数,什么是 阶数

阶数 表示 此树的节点 最多多少个孩子结点(子树),一般用字母 M 表示阶数。

M 阶的B树 :以【子树】讨论

  • 上限:每个节点 最多 有 M 个子树 ;

  • 下限:

    • 根节点至少2个子树,
    • 非根节点至少有 ⌈M /2⌉ 个子树 。(M /2 向上取整,如 5/2等于3)

所以也称 M 阶的 B树 为 ( ⌈M /2⌉ , M ) 树 ,即超级节点(除根节点)的子树数的上下限 。

另外,关键字(码)的个数 = 节点子树数 - 1 。
示例:

1
2
3
4
M = 4 阶的B树,子树个数是(2, 4), 最多含有 3个关键字 和 4个子树
M = 5 阶 , (3, 5), 最多含有 4个关键字 和 5个子树
M = 6 阶 , (3, 6), 最多含有 5个关键字 和 6个子树

总结,M阶 可理解为 M树,即内含(M-1)个关键字 和 M 个子树。