题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2023-11-17 22:43:43

[单项选择]

若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法,因为()。

若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法。
A. 先递归后递推 
B. 先递推后递归 
C. 递归 
D. 递推

更多"若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法,"的相关试题:

[单项选择]

若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用 (14) 算法,因为 (15)

(14)处填()。
A. 先递归后递推
B. 先递推后递归
C. 递归
D. 递推
[单项选择]

若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法,因为()。

因为()
A. 递推的效率比递归高
B. 递归宜于问题分解
C. 递归的效率比递推高
D. 递推宜于问题分解
[单项选择]将一个递归算法改为对应的非递归算法时,通常需要使用()。
A. 优先队列
B. 队列
C. 循环队列
D. 栈
[单项选择]

计算N!的递归算法如下,求解该算法的时间复杂度时,只考虑相乘操作,则算法的计算时间T(n)的递推关系式为(27);对应时间复杂度为(28)
int Factorial(int n)
//计算n!
if(n<=1)return 1;
else return n * Factorial(n-1);
 

(27)处填()。
A. T(n)=T(n-1)+1
B. T(n)=T(n-1)
C. T(n)=2T(n-1)+1
D. T(n)=2T(n-1)-1
[单项选择]

设求解某问题的递归算法如下:
F(int n)
if n=1
Move(1)
else
F(n-1);
Move(n);
F(n-1);
求解该算法的计算时间时,仅考虑算法Move所做的计算为主要计算,且Move为常数级算法。则算法F的计算时间T(n)的递推关系式为 (9) ;设算法Move的计算时间为k,当 n=4时,算法F的计算时间为 (10)

(9)处填()。
A. T(n)=T(n-1)+1
B. T(n)=2T(n-1)
C. T(n)=2T(n-1)+1
D. T(n)=2T(n+1)+1
[简答题]试写出二分查找的递归算法。
[填空题][说明2]
[C程序代码2]是能求得“背包问题”的一组解的递归算法程序。“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有Ⅳ件物品,其重量分别为W1,W2,…,Wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包中,即所选物品的重量之和等于S。
[C程序代码2]
BTREE;
#include<stdio.h>
#define N 7
#define S 15
int w[N+1] = 0,1,4,3,4,5,2,7;
int knap ( int S, int n)
if (S == 0)
return 1 ;
if ( s<0 ( s>0 && n<1 )
return 0 ;
if ( (1) ) )
printf( "4d",w[n] );
return 1 ;

return (2) ;
main ( )
if (knap(S,N) )
printf( "OK!/n" );
else
printf ( "N0 ! /n" ) ;

请将[C程序代码2]中空缺处的内容填补完整。
[单项选择]一个递归算法必须包括( )。【武汉大学2000二、21
A. 递归部分
B. 终止条件和递归部分
C. 迭代部分
D. 终止条件和迭代部分
[单项选择]用递归算法实现n个相异元素构成的有序序列的二分查找,采用一个递归工作栈时,该栈的最小容量应为()
A. n
B. n/2
C. log2n
D. log2(n+1)
[简答题]以二叉链表作为存储结构,试编写递归算法实现求二叉树中叶子结点个数。
[单项选择]设n的初始值为正整数,设计一个递归算法如下: int fact (int n) { if (n<=0) return 1; else return (n*fact(n-1)); } 以下叙述中正确的是______。
A. 计算fact(n)需要执行n次函数调用
B. 计算fact(n)需要执行n+1次函数调用
C. 计算fact(n)需要执行n+2次函数调用
D. 计算fact(n)需要执行n-1次函数调用
[单项选择]递归算法的执行过程一般来说可先后分成______和______两个阶段。

A. 试探
B. 递推
C. 枚举
D. 分析
[单项选择]

递归算法的执行过程一般来说可先后分成(29)(30)两个阶段。

(30)处填()。
A. 回溯
B. 回归
C. 返回
D. 合成
[单项选择]

递归算法的执行过程一般来说可先后分成(29)(30)两个阶段。

(29)处填()。
A. 试探
B. 递推
C. 枚举
D. 分析
[简答题][说明]
下面的程序利用递归算法计算x和y的最大公约数。
[函数2.1]
main ( )
int x,y,k,t;
scanf(" % d% d" , &x, &y);
if(x>y) t=x;x=y; y=t;
(1) ;
while(k! =0)
y=x;
(2) ;
k=y%x;

prinff( "% d" ,x);
[函数2.2说明]
函数fun(char *str,char *substr的功能是计算子串sugbstr在串str中出现的次数。
[函数2.2]
fun(ehar * str, char * substr)
int x,y,z;
(3) ;
for(x=0;str[ x] ! = ’/O’;x + + )
for(y=x,z=0;sabstr[z] = =str[y]; (4) ,y+ +)
if( (5) = =’/0’)
num + +;
break;

return(num);

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码