问题:B树,B+树,B-树区别
树这种数据结构学习起来,难度是比较高的,所以,我们在工作和面试中遇到的情况不多。B+ 树是对 B 树的改进得到的,而 B 树则是一棵多路平衡查找树(是平衡二叉树的变体,稍有不同的是 B 树属于多叉树,即查找路径不止两个)。所以,想要搞清楚 B+ 树,就一定要搞清楚 B 树。首先,我们来谈一谈 M 阶(着重理解 M 的概念,M 阶代表一个节点最多有多少个查找路径)的 B 树具有哪些性质:
根节点至少有两个子节点
每个节点包含 k - 1 个元素和 k 个子节点,其中 m/2 <= k <= m(元素是存储的数据)
每个叶子节点都包含 k - 1 个元素,且位于同一层,其中 m/2 <= k <= m
每个节点中的元素从小到大排列,类似于一个有序数组