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

     

  • 相关阅读:
    mvc:三
    mvc:二
    Linq分组,linq方法分组
    Linq 中按照多个值进行分组(GroupBy)
    Photoshop 字体
    报表Reporting S而vice是 错误的解决
    1*书籍装帧
    photoshop 魔术橡皮擦
    Photoshop 钢笔 双窗口显示
    数字格式化
  • 原文地址:https://www.cnblogs.com/glensblog/p/10012368.html
Copyright © 2011-2022 走看看