题目内容

某递归算法的执行时间的递推关系如下: 当n=1时 ,T(n)=1;当n>1时,T(n)=2T(n/2)+1。则该算法的时间复杂度为( )。

A. O(1)
B. O(log2n)
C. O(n)
D. O(nlog2n)

查看答案
更多问题

设有一个递归算法如下: int fun(int n) { if (n<=0) return 1; else return n*fun(n-1); } 以下正确的叙述是( )。

A. 计算fun(n)需要执行n次递归
B. fun(7)=5040
C. 此递归算法最多只能计算到fun(8)
D. 以上结论都不对

一个递归定义可以用递归算法求解,也可以用非递归算法求解。但单从执行时间来看,通常递归算法比非递归算法( )。

A. 较快
B. 较慢
C. 相同
D. 无法比较

以下关于递归的叙述中错误的是( )。

A. 一般而言,使用递归解决问题较使用循环解决问题需要定义更多的变量
B. 递归算法的执行效率相对较低
C. 递归算法的执行需要用到栈
D. 递归能使算法的代码更加简洁

正确的递归算法应包含( )。

A. 递归出口
B. 递归体
C. 递归出口和递归体
D. 以上都不包含

答案查题题库