• 多路查找树


    多路查找树:每一个结点的孩子数可以多于两个,且每一个结点处可以存储多个元素

    2结点树:一个2结点树包含一个元素和两个孩子(或没有孩子),且与二叉排序树类似,左子树包含的元素小于该元素,右子树包含的元素大于该元素;不过,与二叉排序树不同的是,这个2结点要么没有孩子,要有就有两个,不能只有一个孩子。

    3结点树:一个3结点树包含一小一大两个元素和三个孩子(或没有孩子),一个3结点要么没有孩子,要么具有3个孩子;如果某个3结点有孩子的话,左子树包含小于较小元素的元素,右子树包含大于较大元素的元素,中间子树包含介于两元素之间的元素。

    4结点树:一个4结点树要么没有孩子,要么具有4个孩子,如果某个4结点有孩子的话,左子树包含小于最小元素的元素;第二子树包含大于最小元素,小于第二元素的元素;第三子树包含大于第二元素,小于最大元素的元素;右子树包含大于最大元素的元素。

    [B树]

    结点最大的孩子数目称为B树的阶,因此,2-3树是3阶B树,2-3-4树是4阶B树。

    一个m阶的B树具有如下属性:

      如果一个结点不是叶结点,则其至少有两棵子树;

      每一个非根的分支结点都有k-1个元素和k个孩子;

      所有分支结点包含下列信息数据  (n,A0 ,K1 ,A1 ,K2 ,A2 ,...,K n ,A n ),

    其中:
      Ki (i=1,2,...,n)为关键字,且Ki<Ki+1 (i=1,2,...,n-1);
      Ai (i=0,2,...,n)为指向子树根结点的指针,且指针Ai-1所指子树中所有结点的关键字均小于Ki (i=1,2,...,n),An 所指子树中所有结点的关键字均大于Kn ,n(1≤n≤m-1)为关键字的个数(或n+1为子树的个数)。

    查找次数

    一棵m阶的B+树和m阶的B树的差异在于:

      有n棵子树的结点中包含有n个关键字;

      所有的叶子结点包含全部关键字的信息,及指向含这些关键字记录的指针,叶子结点本身依关键字的大小自小而大顺序链接;

      所有分支结点可以看成是索引,结点中仅含有其子树中的最大(或最小)关键字。

     

  • 相关阅读:
    swift mac 使用git, 并使用osc, 打开当前目录命令在终端输入 open . windows 下为start .
    压力测试-jmeter
    nginx在线与离线安装
    数据库架构简要解析
    maven-build-downloading
    springboot-权限控制shiro(二)
    mysql8报错解析
    springboot-权限控制shiro(一)
    pycharm问题解析(connecting to console)
    springboot-热部署Jrebel
  • 原文地址:https://www.cnblogs.com/nkqlhqc/p/9640389.html
Copyright © 2020-2023  润新知