查找的基本概念和相关的顺序查找
一、查找
1、查找与查找表的定义
2、对查找表的操作
3、查找的结果
二、如何查找
1、查找方法
2、比较式查找方法的评价方式
主要是根据平均查找长度进行评价
三、顺序查找表的查找实现数据类型描述
1、顺序查找表的数据类型描述
他们都符合c语言的标准,下标都是从0开始,但是下标为0的元素一般会用做监视哨或者空闲不用,实际的序列都是从下标为1的元素开始
2、顺序表查找伪代码
例子:给定一个顺序查找序列,待查的记录关键字key=64,由于整个序列是无序的,我们只能采取从前到后或者从后到前的策略依次查找,从概率的角度来说采取哪一种策略都可以。
查找的伪代码
对于下面的程序:在while循环处i>1是正循环的结束,是边界条件的判定,事实上在保证查找成功的基础上,该条件的执行只是白白的浪费了时间,有实验证明,在查找长度超过1000的时候这个条件会浪费大约60%的时间
3、顺序表查找伪代码改进
如下图所示,我们利用了下标为0的元素,作为监视哨将记录待查关记录的键字,这样我们从后到前的查找时就能省去边界条件的判断,无论查找成功还是失败,总能查到关键字在表中的位置。显然如果最后返回的i>0,则i是真正查找成功的位置,如果i=0,说明查找失败。
4、顺序表查找算法的ASL计算
对于顺序表而言其ASL计算如下
顺序查找表的优势是其对表的特性没有要求,元素可以任意排列,插入元素可以直接加到表尾。