查找的概念
主关键字:可唯一地标识一个记录的关键字就是主关键字
次关键字:用以识别若干记录的关键字就是次关键字
对查找表经常进行的操作:
- 查询某个“特定的”数据元素是否在查找表中;
- 检索某个“特定的”数据元素的各种属性;
- 在查找表中插入一个数据元素;
- 删除查找表中的某个数据元素;
查找表可以分为两类:
- 静态查找表:
仅作“查询”(检索)操作的查找表; - 动态查找表:
作“插入”和“删除”操作的查找表;
有时在查询之后,还需要将“查询”结果为“不在查找表中”的数据元素插入到查找表中;或者,从查找表中删除其“查询”结果为“在查找表中”的数据元素,此类为动态查找表;
查找算法的评价指标:
关键字的平均比较次数,也称平均查找长度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=1∑npici(关键字比较次数的期望值)
n n n:记录的个数;
p i p_i pi:查找第i个记录的概率(通常认为 p i p_i pi = 1 / n 1/n 1/n);
c i c_i ci</