其实二者最主要的区别是:
(1) B+树改进了B树, 让内结点只作索引使用, 去掉了其中指向data record的指针, 使得每个结点中能够存放更多的key, 因此能有更大的出度. 这有什么用? 这样就意味着存放同样多的key, 树的层高能进一步被压缩, 使得检索的时间更短。
(2)当然了,由于底部的叶子结点是链表形式, 因此也可以实现更方便的顺序遍历, 但是这是比较次要的, 最主要的的还是第(1)点。
扩展:
B树即二叉搜索树,所有非叶子结点至多拥有两个儿子(Left和Right,所有结点存储一个关键字,非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树。以下是b+树数据结构详细介绍。
1、B+ 树是一种树数据结构,通常用于数据库和操作系统的文件系统中;
2、B+ 树的特点是能够保持数据稳定有序,其插入与修改拥有较稳定的对数时间复杂度。B+ 树元素自底向上插入,这与二叉树恰好相反。;
3、B+ 树在节点访问时间远远超过节点内部访问时间的时候,比可作为替代的实现有着实在的优势;
4、B+ 树在节点访问时间远远超过节点内部访问时间的时候,比可作为替代的实现有着实在的优势;
5、通过最大化在每个内部节点内的子节点的数目减少树的高度,平衡操作不经常发生,而且效率增加了。
了解更多java培训相关技术内容欢迎关注小编!