码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 2022-8-20 B树和B+树


    B树和B+树

          • 数据存储
          • m-way search tree
          • B 树
          • B+ 树

    数据存储

    block address = track number + sector number
    block size (512B)

    硬盘索引数据 ->索引表-> 数据表 -> 硬盘数据位置

    每行数据128bites, 则每个block 存储 4条数据
    使用索引,每行数据用16字节索引指向,每个block 存储 32. 个数据的地址信息。

    数据继续增加,为索引表继续创建索引表,稀疏索引
    每个高级索引16字节,指向32个低级索引所在的block。
    在这里插入图片描述
    多级索引将降低需要访问的block的数量。
    在这里插入图片描述
    self-manage high level indexes 自组织的高级索引。
    自动创建和删除高级索引。

    m-way search tree

    binary search tree:BST:
    二叉树,每个节点有两个子节点,节点只有一个数值,比父节点小的是左下子节点,比父节点大的是右下子节点,每次比较的结果是二选一向下一级寻找。

    3叉树:每个节点有两个数值,有三个子节点,根据数据与父节点中两个数据的比较划分的三个区间,确定向下一级的三个子节点。

    m叉树:每个节点有m-1个数值,可以划分出 m个区间,对应下一级有m个子节点,每次向下一级可以有m个选择,m个数据范围。

    m是节点的数目,m-1 是键的数目,也叫节点的度。

    在这里插入图片描述
    键(节点存储的索引值)同时也指向索引表的某位置,带有指针。

    B 树

    m-way search tree + 规则

    1. 每个节点需要有 m/2个子节点(m/2-1 个键(进位))之后
    2. 根节点需要有至少2个子节点(1个键)
    3. 所有叶子节点在同一级别
    4. 自下而上创建树 from bottom up

    例子:m=4, keys = 10, 20, 40 , 50


    split 拆分节点,向上生长。
    在这里插入图片描述
    继续加入,继续split,中间点向上移动(自定哪个向上)
    在这里插入图片描述

    B+ 树

    不是每个节点都有指针,只有叶子节点leaf nodes 有指针,叶子节点连接形成链表。
    非叶子节点的键会在叶子节点上生成副本,副本后有指针,保证树中所有索引值都有指针指向其地址。

  • 相关阅读:
    写论文时,用WPS里的公式编辑器导出的公式有问题,看图片
    Python在不同场景下的并发编程方案选择
    JOSEF约瑟 JHOK-ZBM1;JHOK-ZBL1多档切换式漏电(剩余)继电器 面板导轨安装
    业私有云部署方案:实现数据安全与隐私保护的最佳选择
    Excel多条件计数——COUNTIFS【获奖情况统计】
    网络接口登录方法获取cookie
    37.轮播图
    错误未找到concrt140.dll最详细的解决方法与修复教程
    小红书和抖音的流量机制是什么?
    计算机毕业设计(附源码)python在线学习资源管理系统
  • 原文地址:https://blog.csdn.net/HITORANGE/article/details/126436504
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号