zoukankan      html  css  js  c++  java
  • 查找

    静态查找表

    1,顺序查找

    ASL = nP1 +(n-1)P2 +…+2Pn-1 +P;

    2,有序表查找

    3,折半查找  

      注意mid,low等下标的变换顺序

    4,索引顺序表

    动态查找表

    1,二叉排序树

    2,平衡二叉树、AVL树

    3,B树

      

    3.1,B树的相关定义:  

      B树是一种平衡的多路查找树,它在文件系统中很有用。一棵m阶的B树,或为空树,或为满足下列特性的m叉树:

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

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

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

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

      (n,A0,K1,A0,K2,A2,K2,...,Kn,An),实际上在B树的每个结点中还包含n个指向每个关键字的记录的指针。

      其中:Ki为关键字,且Ki<Ki+1;Ai为指向子树根节点的指针,且指针Ai-1a所指子树中所有结点的关键字均小于ki,An所指子树中所有结点的关键字均大于Kn,n(┌m/2┐-1 <= n <= m-1)为关键字的个数(或者n+1为子树个数)。

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

      例如:一棵4阶的B树,其深度为4:

    3.2,B树的插入和删除

      ...

    4,B+树

      

      B+树是应文件系统所需而出的一种B树的变型树。一棵m阶的B+树和m阶的B树的差异在于:

      (1)有n棵子树的结点中有n个关键字。

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

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

  • 相关阅读:
    判断回车键自动提交
    WCF开发使用证书文件配置基于自定义X509证书
    递归算法
    Web网站开发常用正则表达式
    WINDSOW2003 IIS配置后无法显示 ASP网页的问题
    如何写好软件开发需求文档
    Bitmap Drawable Canvas Paint比较
    Android开发:LayoutParams的用法
    华为投身互联网:吹了冲锋号 就要往前冲
    android 获取手机号问题
  • 原文地址:https://www.cnblogs.com/lemon-now/p/5167374.html
Copyright © 2011-2022 走看看