1.下面函数的复杂度是:
long foo(long x){ if(x<2) return 1; return x*x*foo(x-1); }
解析:
当n>=2时
foo(n)=n^2*foo(n-1)=n^2*(n-1)^2*foo(n-2)=...=n^2*(n-1)^2*...*2*foo(1);
递归n-1步,时间复杂度为O(n)。
时间: 2024-11-02 16:52:22
1.下面函数的复杂度是:
long foo(long x){ if(x<2) return 1; return x*x*foo(x-1); }
解析:
当n>=2时
foo(n)=n^2*foo(n-1)=n^2*(n-1)^2*foo(n-2)=...=n^2*(n-1)^2*...*2*foo(1);
递归n-1步,时间复杂度为O(n)。