散列表
引言
查找也叫检索,是根据给定的某个值,在表中确定一个关键字等于给定值的记录或数据元素;关键字,是数据元素中某个数据项的值,它可以标识一个数据元素(主关键字和次关键字)。(比如在一个学生信息的记录中,给出的关键字是学生的学号,我要查找这个学生的信息记录,这就是查找的一个具体应用)
查找方法的评价指标有如下几个
- 查找速度
- 占用存储空间多少
- 算法本身复杂程度
- 平均查找长度ASL(Average Search Length): 为确定记录在表中的位置,需将关键字和给定值进行比较的平均次数
在查找过程中时间主要消耗在了关键字值的比较上,可不可以不经过关键字间的比较就找到对应的存储位置呢?换句话说就是在待查记录的关键字与它的存储位置之间建立一个确定的对应关系,则查找就可以不必再进行关键字值间的比较。如下图所示,就可以通过给定的关键字值直接通过哈希函数计算出对应额存储位置,这样就避免了一一比较的过程。
但是要求关键字值和存储地址要一一对