(作者:饶家俊,撰写时间:2020年5月28号)
静态查找是在静态查找表上进行的查找操作,查找满足条件的数据元素的存储位置或各种属性。主要分三种,第一种是顺序查找,第二种折半查找,第三种分块捡索。
第一种是顺序查找的基本思想。
查找表的存储结构是线性表
查找过程是依次用查找条件中给定的值与查找表中数据元素的关键字值进行比较。
若某个记录的关键字值与给定值相等,则查找成功,返回该记录的存储位置。反之,若直到最后一个记录,其关键字值与给定值均不相等,则查找失败,返回查找失败标志。
第二种折半查找的基本思想。
折半查找只适用于对有顺序表进行查找。
每次进行一次折半查找,要么查找成功,结果查找,要么将查找范围缩小一半,如此重复。
直到查找成功或者查找范围缩小为空即查找失败为止。
二分查找又称折半查找。是对有序的顺序进行的高效查找方法。
二分查找算法平均查找长度为log2n,比较次数少,查找速度快。
只能应用于有序的顺序表。
二分查找适用于那种一经建立就很少改动,而又经常需要查找的顺序表。
第三种分块捡索。
分块捡索又称索性顺序查找,他是一种性能介于顺序查找和二分查找之间的查找方法。
查找表存储结构。查找表由“分块有序”的线性表和“有序的”索引表组成。
线性表R分为若干块,每一块的关键字不一定有序,但前一块中的最大关键字必须小于后一块的最小关键字,即表是“分块有序”