• B-tree/B+tree


    1. 以一个3阶的B-Tree举例

    1. 每个节点占用一个盘块的磁盘空间,一个节点上有两个升序排序的关键字和三个指向子树根节点的指针,指针存储的是子节点所在磁盘块的地址。

    2. 两个关键词划分成的三个范围域对应三个指针指向的子树的数据的范围域。

    3. 以根节点为例,关键字为17和35,P1指针指向的子树的数据范围为小于17,P2指针指向的子树的数据范围为17~35,P3指针指向的子树的数据范围为大于35。


    '''模拟查找关键字29的过程:'''
    # 根据根节点找到磁盘块1,读入内存。【磁盘I/O操作第1次】
    # 比较关键字29在区间(17,35),找到磁盘块1的指针P2。
    # 根据P2指针找到磁盘块3,读入内存。【磁盘I/O操作第2次】
    # 比较关键字29在区间(26,30),找到磁盘块3的指针P2。
    # 根据P2指针找到磁盘块8,读入内存。【磁盘I/O操作第3次】
    # 在磁盘块8中的关键字列表中找到关键字29。

     

    2. B+tree(以每个节点可存4个建值及指针信息为例)

    1. B+Tree的非叶子节点只存储键值信息,假设每个磁盘块能存储4个键值及指针信息

    2. 在B+Tree上有两个头指针,一个指向根节点,另一个指向关键字最小的叶子节点,而且所有叶子节点(即数据节点)之间是一种链式环结构。

    3. 因此可以对B+Tree进行两种查找运算:一种是对于主键的范围查找和分页查找,另一种是从根节点开始,进行随机查找。

     

  • 相关阅读:
    01-NoSQL概述
    SSM快速整合
    C语言指针传参与C++引用传参,以及尾插法建立单链表使用到的引用
    IP地址相关
    二叉树的先序遍历、中序遍历、后序遍历-C语言描述
    华为5G认证练习题2
    华为5G认证练习题
    华为ICT学堂获取练习题及答案
    C++ cin对象的一些方法
    webpack学习笔记2:新建工程
  • 原文地址:https://www.cnblogs.com/ngngng/p/13880700.html
Copyright © 2020-2023  润新知