查找表(Search Table):是由同一类型的数据元素(或记录)构成的集合。查找表分为静态查找表和动态查找表。
关键字(Key):是数据元素中某个数据项的值,又称为键值,用它可以标识一个数据元素。若关键字可以唯一地标识一个记录,则称此关键字为主关键字(Primary Key);若关键字对应多个记录,则称此关键字为次关键字(Secondary Key)。
关键码:主关键字对应的数据项称为主关键码;次关键字对应的数据项称为次关键码。
查找(Searching):就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。
静态查找表(Static Search Table):只做查找操作的查找表。主要操作有:
1)查询某个“特定的”数据元素是否在查找表中;
2)查询某个“特定的”数据元素的各种属性(值)。
动态查找表(Dynamic Search Table):在查找的过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已经存在的某个数据元素。主要操作有:
1)查找时插入数据元素;
2)查找时删除数据元素。
查找结构:面向查找操作的数据结构。
1)对于静态查找表,一般考虑使用线性表结构来组织数据;对应查找方法有:顺序表使用顺序查找(线性查找);有序表使用折半查找、插值查找、斐波那契查找。
2)对于动态查找表,一般考虑二叉树结构来组织数据;对应查找方法有:二叉查找树(二叉排序树)、平衡二叉树、多路查找书(B树)。
3)除了上面的查找方法外,还有散列表查找(哈希表查找)比较常用。