✏️ 纠错
第 239 题 / 共 251 题
13、下面给出了阶乘计算的两种方式。以下说法正确的是( )。
📝 题目解析

【答案】A

【考纲知识点】递归

【解析】两种实现都要对n进行一次逐步递减的乘法运算,调用次数或循环次数都是n次,因此时间复杂度均为O(n),A正确。
递归实现factorial1()每次调用会在调用栈上存储局部变量和返回地址,空间复杂度为O(n);
迭代实现factorial2()只需常量额外空间,空间复杂度为O(1)。
因此B、C都错误,D中递归的时间复杂度不是O(2n)。
正确答案是A。