七大查找算法

Posted haley0125

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七大查找算法相关的知识,希望对你有一定的参考价值。

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

平均查找长度(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、哈希查找

以上是关于七大查找算法的主要内容,如果未能解决你的问题,请参考以下文章

七大查找算法

七大查找算法

七大查找算法zz

七大查找算法

七大查找算法

七大查找算法的理解与实现