首先写出在《数据结构与算法分析:c语言描述》看到的关于写递归的四条基本法则:
1.基准情形
2.不断递进
3.设计法则(假设所有的递归调用都能运行)
4.合成效益法则
首先来看1(基准情形),如果一个递归没有基准的话,那么递归会一直运行下去,因为找不到让递归停下来的点,下面举一个例子:
1.假设我们要求n!,看看用递归函数进行求解时没有基准会发生什么情况
int factorial(int n)
{
首先写出在《数据结构与算法分析:c语言描述》看到的关于写递归的四条基本法则:
1.基准情形
2.不断递进
3.设计法则(假设所有的递归调用都能运行)
4.合成效益法则
首先来看1(基准情形),如果一个递归没有基准的话,那么递归会一直运行下去,因为找不到让递归停下来的点,下面举一个例子:
1.假设我们要求n!,看看用递归函数进行求解时没有基准会发生什么情况
int factorial(int n)
{