每天一道面试题一B树和B+树的区别

基础

B树又叫平衡多路查找树,顾名思义这种数据结构一般用来查找速度比较快,B+树是B树的一种加强树。

区别

B树的每个节点都存储key和data。
B树由于key和data存在同一个节点,无法进行区间查询。
B树的查询最好时间复杂度为O(1)。
B+树的查询时间复杂度固定为logN。
B+树只在叶子节点中存储数据。
B+树可以进行区间查询,并且由于非叶子节点没有存储data,所以每一页加载到内存的信息量更大。

引申

由上区别可以得出为什么数据库中索引的数据结构用B+树,第一点是因为其非叶子节点不存储数据;第二点是可以进行区间查询;第三点查询时间复杂度固定。

你可能感兴趣的:(b树,数据结构)