TIPS:本节的重点在于查找的算法效率评价,考试会考。
查找定义:在数据集合中寻找满足某种条件的数据元素的过程。
查找表:用于查找的数据集合,由同一类型的数据元素(记录)组成。
关键字:唯一标识该元素某数据项的值。所以如果使用基于关键字的查找,查找的结果必然是唯一的。
对查找表的常见操作:查找符合条件的数据元素;插入/删除某个数据元素。
由此可将查找表分为:静态查找表(查询操作,仅关注查找的效率即可)和动态查找表(不仅关注查找效率,还要关注插入/删除)。
(以上概念并不重要,了解即可,后期甚至不需要了解,对于考试而言卵用没有。)
查找算法的评价指标————查找长度。
查找长度:在查找运算中,需要对比关键字的次数。
平均查找长度ASL(Average Search Length)——所有查找过程中,进行关键字比较次数的平均值(个人理解:一般是用查找到该关键字通过的次数除以表长)。
一个不重要的王道上的知识点:ASL的数量级反应了查找算法时间复杂度。(了解即可,不了解也行,于考试无卵用)
评价一个查找算法效率时,通常将将两种情况分开计算:查找成功的ASL和查找失败的ASL。
顺序查找:又叫线性查找,通常用于线性表(顺序表/链表);算法思想:从头到尾/从尾到头挨个找。
顺序查找的代码实现:
关注王道选择题和真题&#