B树和B+树的区别

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2024年7月3日 (三) 04:24的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索
B树和B+树的区别.png

上面的是B树,下面的是B+树

B树的每一个结点,既有key,又有数据,key和数据在一起;

B+树只有key,没有数据,数据在叶子结点上;

B树的叶子结点之间是没有任何关系的;

B+树的叶子结点之间是有像链表一样的引用链路;

查找数据时的方式不一样

B树查找30:30比17大,又比35小,查指针p2指向的数据,比26大,找到30,不需要查找叶子结点就把数据找到了;

B+树查找30:30比28大,查p2指针指向的数据,比36小,查指针p1指向的数据,最终找到30,找到叶子结点才找到这个数据,因为B+树把所有的数据都放在叶子结点,上层结点没有数据。而B树不止有key,也有数据。