更多"一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时"的相关试题:
[单项选择]一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程( )。
A. 相同
B. 较慢
C. 较快
D. 无法确定
[填空题]在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度 (不得使用系统提供的字符串处理函数)。
int GJetLen(char*str)if( 【8】 ) return 0;
else return 1+GetLen (str+1);
[单项选择]
用递归算法求解F(5)时需要执行 (63) 次“+”运算,该方法采用的算法策略是 (64) 。
(63)处填()。
A. 5
B. 6
C. 7
D. 8
[单项选择]若一个问题既可以用迭代方式也可以用递归方式求解,则______方法具有更高的时空效率。
A. 迭代
B. 递归
C. 先递归后迭代
D. 先迭代后递归
[填空题]求自然数1到n的和的递归定义如下:
sum(1)=1 若n=1
sum(n)=sum(n-1)+n; 若n>1
下列定义的方法的功能是用递归的算法完成自然数1到n的累加和,请补充程序。
int sum (int num{
if( num = =1)return1;
else return 【 】
}
[填空题]在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。
int GetLen(char*str)
if(______) return 0;
else return 1+GetLen(str+1);