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

的数据元素之间存在着松散的关系,因此查找表是一种应用灵便的结构。


问题:什么查找?

根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或(记录)

”关键字---用来标识一个数据元素(或记录)的某个数据项的值

  1. 主关键字可唯一地标识一个记录的关键字是主关键字;
  2. 次关键字反之,用以识别若干记录的关键字是次关键字。

若查找表中存在这样一个记录, 则称“查找成功”

  1. 查找结果给出整个记录的信息,或指示该记录在查找表中的位置;
  2. 否则称"查找不成功”查找结果给出”空记录”或"空指针”。


问题:查找目的是什么?

对查找表经常进行的操作:

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


问题:查找表怎么分类?

查找表可分为两类:

  1. 静态查找表:仅作”查询",“检索”操作的查找表。
  2. 动态查找表:作“插入”和“删除”操作的查找表。


问题:如何评价查找算法?

查找算法的评价指标:

关键字的平均比较次数,也称平均查找长度 ASL(Average Search Length)

数据结构 - 查找_查找算法

n:记录的个数

pi:查找第i个记录的概率(通常认为pi =1/n)

ci:找到第i个记录所需的比较次数


研究查找的效率的提升
​ 1.表的构造方式
2.查找方式