您的位置:首页 > 其它

并行高性能计算——递归查找最大值

2013-09-20 10:14 232 查看
#include<iostream>
using namespace std;
int maxi(int A[],int low,int high){
if(low==high)
return A[low];
int low_max=maxi(A,low,(low+high)/2);
int high_max=maxi(A,(low+high)/2+1,high);
if(low_max>high_max)
return low_max;
else
return high_max;
}
int main(){
int A[]={5,10,9,7,2,13,8};
int low=0;
int high=6;
int max=maxi(A,0,6);
cout<<max<<endl;
return 0;
}


时间复杂度:T(n)=2T(n/2)+c=4T(n/4)+2c+c=...=2lgnT(n/2lgn)+c(20+21+...+2lgn-1)=nT(1)+c(1-2lgn)/(1-2)=n+c(n-1)=θ(n)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: