查找表 同一类型的数据元素(或记录)构成的集合。
关键字 数据元素(或记录)中某个数据项的值,用它可以标识(识别)一个数据元素(或记录)。
主关键字 可以唯一标识一个记录的关键字叫主关键字。
次关键字 非主关键字的关键字叫次关键字。
查找操作的性能分析
在之前的算法分析中,衡量一个算法好坏的量度有三条:时间复杂度(衡量算法执行的时间量级)、空间复杂度(衡量算法的数据结构所占存储以及大量的附加存储)和算法的其他性能。但是对于查找算法来说,通常只需要一个或几个辅助空间。又查找算法中的基本操作是“将记录的关键字和给定值进行比较”,因此,通常以“关键字和给定值进行过比较的记录个数的平均值”作为衡量查找算法好坏的依据。
平均查找长度:为确定记录在查找表中的位置,需和给定值进行比较的关键字个数的期望值成为查找算法在查找成功时的平均查找长度(Average Search Length)。对于含有n个记录的表,查找成功时的平均查找长度为
其中:Pi为查找表中第i个记录的概率,且n个记录的概率之和为1。Ci为找到表中其关键字与给定值相等的第i个记录时,和给定值已进行比较的关键字个数
静态查找表:
(1)查询某个”特定的”的数据元素是否在查找表中
(2)检索某个”特定的”数据元素的各种属性。
静态查找表的相关算法:
动态查找表:
(3)在查找表中插入一个数据元素
(4)从查找表中删去某个数据元素
动态查找表的相关算法: