目录
第九章 查找
1、顺序表查找
1)顺序查找
①无监视哨查找
每次都要判断 i 是否越界。
②有监视哨查找
基本思想:设置“哨兵”。哨兵就是待查值,将它放在查找方向的尽头处,免去了在查找过程中每一次比较后都要判断查找位置是否越界,从而提高了查找速度。
顺序查找的优缺点:
2)折半查找
使用条件:
线性表中的记录必须按关键码有序;
必须采用顺序存储。
基本思想:
在有序表中,取中间记录作为比较对象,
①若给定值与中间记录的关键码相等,则查找成功;
②若给定值小于中间记录的关键码,则在中间记录的左半区继续查找;
③若给定值大于中间记录的关键码,则在中间记录的右半区继续查找。
不断重复上述过程,直到查找成功,或所查找的区域无记录,查找失败。
①非递归实现
②递归实现
折半查找的性能分析:
3)分块查找
适用于对关键字分块有序的查找表进行查找操作。
关键字分块有序指的是:按关键字大小分成若干子表&#