直接递归:函数在执行过程中调用本身。
间接递归:函数在执行过程中调用其它函数再经过这些函数调用本身.
递归有四个特性:1.必须有可最终达到的终止条件,否则程序将陷入无穷循环.
2.子问题在规模上比原问题小,或更接近终止条件;
3.子问题可通过再次递归调用求解或因满足终止条件而直接求解;
4.子问题的解应能组合为整个问题的解。
有一个8俩重的苹果要你切成重量相等的若干份,每一份的重量不能大于1俩。你肯定会想到这样做:第一刀先把一个苹果切成重量均等的2份A1和A2;再把其中的一份A1切成重量均等的两份A11和A12, 把A2切成均等的两份A21和A22;把A11切成均等的两份……直到每一小份都小于等于1俩为止。