zoukankan      html  css  js  c++  java
  • 多路查找树

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

    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个关键字;

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

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

     

  • 相关阅读:
    PowerDesigner小技巧(整理中)
    将日志(Microsoft.Extensions.Logging)添加到.NET Core控制台应用程序
    VMware Workstation Pro 15.5.0 官方版本及激活密钥
    Git 设置和取消代理(SOCKS5代理)
    笔记
    哈希表(Hash Table)与哈希算法
    Elasticsearch分词
    微服务理论
    Elasticsearch与Mysql数据同步
    go语言常用命令
  • 原文地址:https://www.cnblogs.com/nkqlhqc/p/9640389.html
Copyright © 2011-2022 走看看