并行高性能计算——递归查找最大值
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)
相关文章推荐
- 并行高性能计算——找最大值和最小值
- 什么是二叉搜索树、二叉搜索树的查找(递归或循环)和二叉搜索树的查找最大最小元素
- 用递归实现查找字符串中相同字符连续出现次数的最大值
- 【高性能】Matlab的并行计算之spmd
- 高性能集群 并行计算 mpich hpc 及 torque作业调度系统
- 高性能计算中并行的概念理解
- 利用GPU进行高性能数据并行计算《程序员》2008年第4期
- Matlab高性能编程——代码优化和并行计算
- 用递归实现查找字符串中相同字符连续出现次数的最大值
- 两款高性能并行计算引擎Storm和Spark比较
- C++用递归方式实现在对不更改随机数组的情况下查找最大值
- 两款高性能并行计算引擎Storm和Spark比较
- 两款高性能并行计算引擎Storm和Spark比较
- 高性能查找数组中的最大值和最小值
- C语言查找最大值和最小值递归实现
- 计算二叉树的最大宽度(非递归)
- 递归练习:计算最大公约数和最小公倍数
- 高性能并行计算引擎Storm和Spark比较
- 并行计算分布式计算网格高性能计算机
- 用递归实现查找字符串中相同字符连续出现次数的最大值