递归:解法复杂问题的方法

这个对象是递归的
这个过程是递归的

可解决的问题:迷宫问题;汉诺塔问题

分治法:
对于一个复杂的问题,分解为几个相对简单且解法相同或类似的子问题来求解
必备的三个条件:
        转变为新问题,
        可以通过转化
        接口或称递归的边界

void p(参数表) {
        if
        else 
}









优点:结构清晰,程序已读
二叉树那边也会用到很多

缺点:每次调用要生成工作记录,保存状态信息,入栈;返回时要出栈,恢复状态信息。时间开销大。

变为非递归:
尾递归、单向递归 ->循环结构


单向递归->循环递归