数据结构——线性表的查找

查找

  • 查找的概念
  • 线性表的查找
    • 顺序查找(线性查找)
    • 折半查找(二分或对分查找)
    • 分块查找

查找的概念

主关键字:可唯一地标识一个记录的关键字就是主关键字
次关键字:用以识别若干记录的关键字就是次关键字

对查找表经常进行的操作

  1. 查询某个“特定的”数据元素是否在查找表中;
  2. 检索某个“特定的”数据元素的各种属性;
  3. 在查找表中插入一个数据元素;
  4. 删除查找表中的某个数据元素;

查找表可以分为两类:

  • 静态查找表:
      仅作“查询”(检索)操作的查找表;
  • 动态查找表:
      作“插入”和“删除”操作的查找表;
      有时在查询之后,还需要将“查询”结果为“不在查找表中”的数据元素插入到查找表中;或者,从查找表中删除其“查询”结果为“在查找表中”的数据元素,此类为动态查找表;

查找算法的评价指标:
关键字的平均比较次数,也称平均查找长度ASL(Average Search Length)

A S L = ∑ i = 1 n p i c i   ( 关 键 字 比 较 次 数 的 期 望 值 ) ASL= \sum_{i=1}^n {p_i}{c_i}\,(关键字比较次数的期望值) ASL=i=1npici()
n n n:记录的个数;
p i p_i pi:查找第i个记录的概率(通常认为 p i p_i pi = 1 / n 1/n 1/n);
c i c_i

你可能感兴趣的:(数据结构,数据结构)