关于分治的小例子便于理解
2017-03-06 10:29
239 查看
写一个小的求数组最大值的方法理解分治法
划分问题: 把问题的实例划分成子问题
递归求解: 递归解决子问题
合并问题: 合并子问题的解得到原问题的解
这是一个小的例子便于理解分治法
划分问题: 把问题的实例划分成子问题
递归求解: 递归解决子问题
合并问题: 合并子问题的解得到原问题的解
这是一个小的例子便于理解分治法
#include <iostream> #include <cmath> using namespace std; int findMax(int a[], int l, int r) { if (l == r - 1) //当左右元素相邻了,返回左侧元素 { return a[l]; } int m = (r + l) / 2; //划分中间界限 int u = findMax(a, l, m); //递归求左侧最大值 int v = findMax(a, m, r); //递归求右侧最大值 int x = max(u, v); //求左右最大值 } int main() { int a[] = {39,2,17,3, 20, 32}; cout<<"数组的最大值: "<<findMax(a, 0, 6)<<endl; return 0; }
相关文章推荐
- C++关于析构函数和拷贝构造函数何时调用两个例子的理解
- 再也不用担心javascript的this---从代码去理解(第三篇)--关于this的典型例子
- 关于守护线程的理解和例子
- 关于JAVA匿名内部类我的理解,举一个小例子阐述。
- 关于RTSP的理解和例子说明
- 关于构建浅层神经网络的一些理解(以MNIST为例子)
- 关于RTSP的理解和例子说明
- 关于NIO的理解及相关的例子
- 关于Dao分层理解与例子详解--个人记录
- 关于lua元表和元方法的例子 自己理解了并加了一些注释
- javascript执行上下文、作用域与闭包(第七篇)---关于闭包典型例子的理解
- golang 部分理解:关于channel 和 goroutine 例子
- 关于lld3例子open中filp->private_data = dev;这一句的理解
- 关于Java序列化和反序列化的理解以及概念和例子
- java 循环结构(二)关于for语句的运用,以下例子让你充分理解for循环
- 完全理解递归与分治:3种方法求数组最大值为例子
- 关于RTSP的理解和例子说明
- msdn 上的关于delegate和event的一个例子,理解后加点评论
- 关于进程调度的理解很nice的一个例子
- 关于RTSP的理解和例子说明