递归

递归是指自己调用自己的函数。

如下面的阶乘递归

fact(int n){
    if(n==1)
        return n;
    return fact(n-1)*n;
}

递归函数必须要设置出口,也就是上面的

if(n==1)
    return n;

分治

分治的过程

  1. 将问题分割成局部问题(Divide)

  2. 递归地求解局部问题(Solve)

  3. 将局部问题的解整合成原问题的解(Conquer)

搜索:

findMax(int A[],l,r){
    int m;
    int u,v;
    m=(l+r)/2;
    if(l==r-1){
        return A[l]
    }else{
        u=findMax(A,l,m)
    }
    
}