前言:
在学习B树和B+树以及后面红黑树的过程中,建议大家先从基础的二叉树开始学起,最好可以手写一颗二叉搜索树,然后学习AVL树也就是平衡二叉搜索树,学习是一个循序渐进的过程,大家不要急于求成,文章是学习者基于自己对知识的认知总结分享的,但是对于读者来说,它只是辅助的作用,深入学习是非常有必要自己经历的一个过程。
B树
特点:多叉搜索树,在原有平衡二叉搜索树的基础上,支持同一节点多颗子树,同时满足平衡二叉树多特点。
B+树
B+树是本文的重点内容,相信大家在面试中经常被问到B树和B+树的区别,下面会给大家介绍B+树相比于B树的优点
特点:
1.B+树的叶子结点是存在单向指针
2.叶子结点存储所有数据集包括上面父节点的数据
3.叶子结点按照顺序从小到大依次排序
4.叶子结点支持同一父节点下多个叶子结点
那相比较于B树,大家从上述特点其实可以看出B+树是对于B树的一种升级,那么在mysql的innodb引擎中,索引便是基于B+树设计的