考虑下面的C函数:
null
double foo ( int n) { int i; double sum; if (n = = 0) return 1.0; else { sum = 0.0; for (i = 0; i < n; i++) sum += foo (i); return sum; } } |
上述函数的空间复杂度为: (A) O(1) (B) O(n) (C) O(n!) (D) O(n) N ) 答复: (B) 说明: 请注意,函数foo()是递归的。 空间复杂性 是O(n),因为一次最多可以有O(n)个活动函数(函数调用帧)。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END