首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >B-树,B+树,B*树

B-树,B+树,B*树

作者头像
lexingsen
发布2022-02-25 20:34:09
发布2022-02-25 20:34:09
1.4K0
举报
文章被收录于专栏:乐行僧的博客乐行僧的博客

文件索引系统中应用 why? 数据量非常大-》在磁盘中存储-》会给数据创建索引-》给数据进行排序,加速搜索 需要解决两个问题? 1.减少磁盘的IO 2.更快的搜索算法

操作系统中, 管理内存是按照页page 4K 管理的 管理磁盘是按照block 16K

现在有n = 1000w个索引需要从磁盘中进行读取和搜索? avl树和m为300的B-树? avl树的高度:log2n = 24层 最差的情况一个节点只存储一个索引?最差需要24次磁盘IO B-树高度:log(300)n = 3 层 最多花费3次磁盘IO

B+树

B+树是B-树的一种变形 非叶子结点只存储索引,不存储数据 B+树的叶子结点包含全部的关键字信息,而B-树的数据分散在各个结点当中。 叶子结点之间有指针链接,形成一个链表,可以进行顺序查找。

B+树存放的索引项相对于B-树能够存储的更多。

B*树

B*树是B+树的变体,在B+树的非根和叶子结点在增加指向兄弟结点的指针

B*提高了结点的利用率。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • B+树
  • B*树
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档