码迷,mamicode.com
首页 > 编程语言 > 详细

七大查找算法

时间:2018-03-19 19:37:22      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:指定   sea   i++   bin   版本   哈希   成功   递归   分块   

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

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

七大查找算法

标签:指定   sea   i++   bin   版本   哈希   成功   递归   分块   

原文地址:https://www.cnblogs.com/haley0125/p/8342906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!