七分钟笔记——递归之阶乘函数

递归算法

直接或者间接调用自身的算法称为递归。

用函数自身给出定义的函数称为递归函数。

使用递归技术往往使得函数的定义和算法的描述简洁且易于理解,如:数据结构中的二叉树,由于本身固有的递归特性,特别适合用递归的方式描述。

阶乘函数

递归定义:

n!={1n(n1)n=0n>0

n的定义域为:非零负整数。
算法实现(Java):

public static int factorial(int n)
{
    if(n==0) return 1;
    return n*factorial(n-1);
}

参考资料:《算法设计与分析》(第三版)王晓东编著

点赞