408答疑
一、查找的基本概念
概述
在数据集合中寻找满足某种条件的数据元素的过程称为查找。查找的结果一般分为两种:一是查找成功,即在数据集合中找到了满足条件的数据元素;二是查找失败。
查找表
用于查找的数据集合称为查找表,它由同一类型的数据元素(或记录)组成。对查找表的常见操作有:①查询符合条件的数据元素;②插入、删除数据元素。
- 若一个查找表的操作只涉及查找操作,则无须动态地修改查找表,此类查找表称为静态查找表。
- 与此对应,需要动态地插入或删除的查找表称为动态查找表。
- 适合静态查找表的查找方法有顺序查找、折半查找、散列查找等;适合动态查找表的查找方法有二叉排序树的查找、散列查找等。
关键字
数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的。例如,在由一个学生元素构成的数据集合中,学生元素中“学号”这一数据项的值唯一地标识一名学生。
平均查找长度 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
i
i 个数据元素的概率,一般认为每个数据元素的查找概率相等,即
p
i
=
1
/
n
p_i = 1/n
pi=1/n;
c
i
c_i
ci 是找到第
i
i
i 个数据元素所需进行的比较次数。
六、参考资料
鲍鱼科技课件
b站免费王道课后题讲解: link
网课全程班: link