zoukankan      html  css  js  c++  java
  • 数据结构之B-树

    作为文件系统索引的常用数据结构,B-树的查找涉及硬盘和内存两个部分,硬盘的读写将影响查找的速度。传统关系型数据库如Mysql采用B-树作为索引,新型内存数据库levledb通过改进数据组织方式通过内存访问使得存取速度得到大幅提升,本文通过对B-树楼据结构的特点及查找算法整理,后续将更新leveldb的实现和查找方式以对比两种数据库的设计思想。

    B-树是一种平衡的多路查找树地,它在文件系统中很有用。在此介绍这种树的结构及其查找算法。

    一棵m阶的B-树,或为空树,或为满足下列特性的m叉树:

    (1) 树中每个结点至多有m棵子树;

    (2) 若根结点不是叶子结点,则至少有两棵子树;

    (3) 除根之外的所有非终端结点至少有⌈m/2⌉棵子树;

    (4) 所有非终端结点中包含下列信息数据

                                                            (n, A0 ,K1 ,A1 ,K2 ,A2 ,...,Kn ,An)

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

    (5) 所有的叶子结点都出现在同一层次上,并且不带信息(可以看作是外部结点或查找失败的结点,实际上这些结点不存在,指向这些结点的指针为空)。

     

  • 相关阅读:
    麦茶商务的网站
    jQuery Ajax 实例 ($.ajax、$.post、$.get)
    关于meta知多少
    WebApp之Meta标签
    html5开发之viewport使用
    bootstrap
    8.8&8.9 dp训练小结
    2019.8.10小结
    2019.8.17 小结
    [NOI2001]炮兵阵地 题解
  • 原文地址:https://www.cnblogs.com/glensblog/p/10012368.html
Copyright © 2011-2022 走看看