B树和B+树

一、B树

    1. B树:平衡多路查找树(不止二叉),节点中有多个关键字,左小右大的顺序;

    2. 假设是5阶树(M=5),则枝节点的关键字数量 >= ceil(M/2)-1 且 <= M-1,即5阶树的关键字数量为2~4;

    3. 插入:当插入第五个元素时(大于4),把中间的节点升级成父节点,左右分别变成左右子节点;
        删除:当删除元素之后导致关键字数等于1或0时(小于2),需要合并节点:先从子节点取,子节点没有符合条件时就向父节点取

    4. 对比平衡二叉树:每个节点包含的关键字增多了,树的层级比原来的二叉树少了,减少查找的次数和复杂度

 删除规则:

 

二、B+树

    1. B+树:B树的升级版,充分利用节点空间,查询效率更高。

    2. 规则:1.非叶子结点不保存关键字记录的指针,只保存关键字本身做数据索引
                  2.叶子节点保存了父节点的所有关键字记录的指针,只有叶子节点才有指针,所以每次查询的次数都一样。
                  3.叶子节点的关键字从小到大有序排列左边结尾数据会保存右边节点开始数据的指针(串起来了)
                  4.所有非叶子节点的子节点数 = 关键字数量

    3. 特点:1.B+树层级更少:每个节点存的关键字数比B树更多,所以层级更少查询更快;
                  2.查询速度更稳定:只有叶子节点上才有地址的指针数据;
                  3.天然具备排序功能:所有叶子节点构成一个有序链表,区间查询更方便;
                  4.全节点遍历更快:不像B树需要遍历每一层,有利于数据库扫全表

    4. B树比B+树的优点:如果经常访问的数据离跟节点很近,则速度更快。

preview

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值