zoukankan      html  css  js  c++  java
  • 查找

    1、基本概念

    (1)查找表

         查找表(Search Table)是由同一类型的数据元素(或记录)构成的集合。

    (2)查找

         查找(Searching)的定义是:给定一个值K,在含有n个结点的表中找出关键字等于给定值K的结点。若找到,则查找成功,返回该结点的信息或该结点在表中的位置;否则查找失败,返回相关的指示信息。

    2、查找表数据结构表示

    (1)动态查找表和静态查找表

         若在查找的同时对表做修改操作(如插入和删除),则相应的表称之为动态查找表。否则称之为静态查找表

    (2)内查找和外查找

         和排序类似,查找也有内查找和外查找之分。若整个查找过程都在内存进行,则称之为内查找;反之,若查找过程中需要访问外存,则称之为外查找

    3、分类

    (1)线性表查找

    线性表的查找分为顺序表查找(顺序查找)、有序表查找(折半查找/二分查找,插值查找,斐波那契查找)、线性索引查找(稠密索引,分块索引,倒排索引)。

    (2)树查找

    树上的查找包括二叉排序树查找平衡二叉树(AVL树)、多路查找树(B树)。

    (3)散列表查找

    4、平均查找长度ASL

        查找运算的主要操作是关键字的比较,所以通常把查找过程中对关键字需要执行的平均比较次数(也称为平均查找长度)作为衡量一个查找算法效率优劣的标准。

        平均查找长度ASL(Average Search Length)定义为:

        其中:

        ①n是结点的个数;

        ②Pi是查找第i个结点的概率。若不特别声明,认为每个结点的查找概率相等,即

               pl=p2…=pn=1/n

        ③ci是找到第i个结点所需进行的比较次数。

        注意: 

        为了简单起见,假定表中关键字的类型为整数:

    typedef int KeyType; //KeyType应由用户定义
    

      

     

  • 相关阅读:
    洛谷P3384 【模板】树链剖分
    hdu3518 Boring counting(后缀数组)
    CSL 的密码(后缀数组)
    洛谷P3809 【模板】后缀排序
    洛谷P2387 [NOI2014]魔法森林(LCT)
    洛谷P3366 【模板】最小生成树(LCT)
    Stanford机器学习课程(Andrew Ng)
    操作系统存储器管理选择题精练
    实验12:Problem I: 成绩排序
    实验12:Problem H: 整型数组运算符重载
  • 原文地址:https://www.cnblogs.com/yedushusheng/p/5524178.html
Copyright © 2011-2022 走看看