分治算法:
简单的概括就是将暂时不能解决的大问题分成许多入门的子问题,
简单的概括就是将暂时不能解决的大问题分成许多入门的子问题,
如果子问题还是不能解决的话则继续分成子问题,直到子问题小到
可以解决为止的规模,原问题即是子问题的合并。
PartOne:
用分治法打印数组a[L,......,R].
分析:
一个循环就可以了,但是分治算法来解决该怎么做呢?
如果待打印的序列长度为 1,则可以直接打印;
如果待打印的序列长度为 N,则可将其划分为两部分;
第一部分是 1, 后N - 1 是另一个划分,以此类推,直到数组长度是 1.
void print(int a[], int L, int R)
{
if(L > R)
return;
else if(L == R)
{
cout<<&#