今天总结了有序表查找常用的三种算法与大家分享。1.折半查找折半查找又称二分查找,它的基本思想是:在有序表中,取中间记录作为比较对象,若相等则查找成功;若给定值小于中间记录的关键字,则在中间记录左半区继续查找,若给定值大于中间值,则在又半区寻找,不断重复以上过程。算法代码(java版)int bina...
分类:
编程语言 时间:
2015-06-24 15:56:59
阅读次数:
163
查找
根据给定的某个值,在查找表中确定一个其关键字(唯一的标识一个记录)等于给定值的数据元素或数据记录。静态查找:只查找,不修改元素[线性表、顺序查找、二分查找]
动态查找:查找时,插入或者删除元素[二叉排序树]顺序表查找
顺序查找(针对静态查找表),也叫线性查找O(n),从头开始遍历,直到最后一个记录。
优化:添加哨兵//有哨兵的顺序查找
int foo(int *a,int n,int...
分类:
其他好文 时间:
2015-06-09 17:18:33
阅读次数:
182
一、有序表查找
1.折半查找/二分查找算法
(1)基本思想:在顺序存储的有序表中,取中间纪录(a[mid]=key)作为比较对象,若给定值与中间纪录的关键字相等,则查找成功;若给定值小于中间纪录的关键字,则在中间纪录的左半区继续查找;若给定值大于中间纪录的关键字,则在中间纪录的右半边。不断重复上述过程,直到查找成功,或所有查找区域无记录,查找失败为止。
(2)使用条件:线性表中的纪录是关键码...
分类:
其他好文 时间:
2015-04-04 23:49:18
阅读次数:
422
一、静态查找 顺序的查找 有序表查找 平均查找长度: 特点1、折半查找 log(n+1)-1 ...
分类:
其他好文 时间:
2014-10-06 17:39:40
阅读次数:
233
如果静态查找表是一个有序表,则可以使用折半查找。
折半查找的过程是:先确定待查记录所在的范围(区间),然后逐步缩小范围直到找到或找不到该记录为止。折半查找过程是以处于区间中间位置记录的关键字和给定值比较,若相等,则查找成功,若不等,则缩小范围,直至新的区间中间位置记录的关键字等于给定值或者查找区间的大小小于零时(表明查找不成功)为止。
关键字key与...
分类:
其他好文 时间:
2014-09-24 22:40:38
阅读次数:
213