K12教育赛事综合服务平台
专注青少年竞赛题库网站
聚乐之家官方网站
下载聚乐之家官方App
给出两种阶乘计算的C++实现如下:
int factorial1(int n) { if (n <= 1) return 1; return n * factorial1(n - 1); } int factorial2(int n) { int acc = 1; while (n > 1) { acc = n * acc; n = n - 1; } return acc; }
上面两种实现方式的时间复杂度相同,都为O(n)
上面两种实现方式的空间复杂度相同,都为O(n)
上面两种实现方式的空间复杂度相同,都为O(1)
函数 factorial1() 的时间复杂度为 O(2^n),函数 factorial2() 的时间复杂度为O(n)