“B树和B+树的区别”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) (建立内容为“无|缩略图|900x900像素”的新页面) |
Jihongchang(讨论 | 贡献) |
||
(未显示同一用户的1个中间版本) | |||
第1行: | 第1行: | ||
− | [[文件:B树和B+树的区别.png|无|缩略图|900x900像素]] | + | [[文件:B树和B+树的区别.png|无|缩略图|900x900像素]]上面的是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,也有数据。 |