七大查找算法

顺序查找,二分查找,插值查找,斐比那契查找,数表查找,分块查找,哈希查找。

平均查找长度(Average Search Length,ASL):需和指定key进行比较的关键字的个数的期望值,称为查找算法在查找成功时的平均查找长度

1、顺序查找

/**
平均查找长度:ASL=(1+2+3+...+n)/n=(n+1)/2;
顺序查找:时间复杂度O(n);
**/
int
SequenceSearch(int a[],int value,int n){ for(int i=0;i<n;i++){ if(A[i] == value){ return i; } } return -1; }

2、二分查找

//二分查找,遍历
int
BinarySearch(int a[],int value,int n){ int low,high,mid; low = 0; high = n-1; while (low<high) { mid = (low+high)/2; if(a[mid] == n){ return mid; }else if(a[mid] > n){ high = mid - 1; }else{ low = mid + 1; } } return -1; }
//二分查找,递归版本

 

3、插值查找

4、斐比那契查找

5、数表查找

6、分块查找

7、哈希查找

转载于:https://www.cnblogs.com/haley0125/p/8342906.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值