B+和B树的区别和应用
- :B+树的通过链表把叶子节点连成了一串,提高区间访问能力(适用于范围查找) B树就没有,所以B树不适合范围查找。
- :B+树非叶子结点不存储data 只存储索引沉余 是可以为了一个结点可以存储更多的索引,而b-树每个结点都会存储data,所以b树存储的所以就少于B+树
- :B+叶子结点包含所有的结点
- :B+树的每个结点的指针和关键字数相等,因为每个关键字都有相对应的指针,而b-树的指针树=关键字数+1
为什么B+树作为索引的话比2叉树快:
加入有100万数据 那么因为2查树的每个节点都只能有一个关键字和2个子树指针 所以他的高度就很高 但是B+数的话每个节点可以有多个关键字和多个子树 所以高度就小 所以在时间复杂度上就小