在学习B树前,如果没有2-3树的基础,建议先去学习一下2-3树会更好理解B树图解2-3树(学习红黑树、B树的基础)
首先需要明白B树就是B-树,因为B树的原英文名称为B-tree,所以很多人把B树又叫做B-树,这就导致很多人以为B树分为:B-、B、B+树三种,其实英文中B-Tree中的“-”不是减号,只是一个横杠的意思,就好比B+树英文为B+-tree.
明白了基本概念后,对B树进行一个基本的介绍
- B树的本质也是一颗二叉搜索树
- B树的节点最多有m个孩子(m>=2)
- 除根节点和叶子节点外,其他每个节点至少有ceil(m/2)个孩子 (这里的ceil()是一个向上取整的函数)
- B树是一颗绝对平衡的树(根节点到任意节点路径相同)
通过下图B树和AVL树的比较来深刻理解一下B树的定义