总结:
总体方向:查找
一堆数据中查找某个 value ,一般又作key
顺序查找,折半查找,二叉排序树查找、add、delate、平衡
说明:封装了顺序查找,其实还可以封装求数组长度,最后测试用例你如果知道最大值也可以封装
顺序查找 ASL( Average Search Length )平均查找长度 = ( 1/n )* [ n * (n+1) ] / 2
时间复杂度 = O( n )
算法封装 Input: ( int array[ ], int n, int key )
Output: -1 数组空 or key is no exist
i array 下标为i 的 is key
算法实现 :
#include "stdio.h"
typedef int ElemType;
ElemType array1[]={0,2,4,85,4,6,1,7,0,5,100,50,84};
int one_by_one_Search( ElemType array[], int n, ElemType key){
for( int i = 0; i < n; ++i ){
if( key == array[i] ) return i;
}
return -1;
}
int main(){
int a;
for(int i = 0; i < 200;++i)
{
a = one_by_one_Search(array1,13,i);
printf("%d\t",a);
}
printf("\n\t顺序Search End\n");
}