【发布时间】:2012-07-08 12:55:28
【问题描述】:
想分析递归线性搜索的复杂性(使用分治法)。是 log(n) 还是 n ?如果不是 log(n) 那么实际的复杂度是多少?
int linear_search(int *a,int l,int h,int key){
if(h == l){
if(key == a[l])
return l;
else
return -1;
}
int mid =(l+h)/2;
int i = linear_search(a,l,mid,key);
if(i == -1)
i = linear_search(a,mid+1,h,key);
return i;
}
【问题讨论】:
-
在我看来
O(n)...虽然懒得详细解释。
标签: algorithm complexity-theory time-complexity divide-and-conquer