数据结构里,计算n!,可以使用递归程序完成,若使用递归则需要()来帮助完成。

题目
单选题
数据结构里,计算n!,可以使用递归程序完成,若使用递归则需要()来帮助完成。
A

B

队列

C

链表

D

二叉树

参考答案和解析
正确答案: C
解析: 暂无解析
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

对递归定义的数据结构不要使用递归过程。


正确答案:错误

第2题:

数据结构里,计算n!,可以使用递归程序完成,若使用递归则需要()来帮助完成。

  • A、栈
  • B、队列
  • C、链表
  • D、二叉树

正确答案:A

第3题:

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成以下两个函数。 (1)funl(intn)求出n的阶乘,必须使用递归调用。 (2)fun2(intn)求出n的阶乘,不能使用递归调用。如果n小于1则返回0。 注意:不能修改函数的其他部分。 试题程序: include<iostream.h> //必须使用递归 intfunl(intn) { } //不能使用递归 intfun2(intn) { } voidmain { inti; cout<<"请输入一个整数:"<<endl; cin>>i; cout<<"输入数字的阶乘是:"<<funl(i)<<endl; cout<<"输入数字的阶乘是:"<<fun2(i)<<endl; return; }


正确答案:
//必须使用递归
jntfunl(intn)
{
if(n<=0)
return0;
if(n==1)
return1;
returnn*funl(n-1);
};
//不能使用递归
intfun2(intn)
{
if(n<=0)
retturn0;
intres=1:
for(inti=1;i<=n;i++)
{
res*=i;
}
returnres;
}
【解析】本题考查的是递归函数和阶乘算法。递归的阶乘算法可以通过判断传入参数,如果大于1,则返回n*funl(n-1),意思是返回n乘以n-1的阶乘;如果等于1,则返回1。这样递归下去就能最终得出n的阶乘。非递归算法可以先建立一个累乘变量,并初始化为1,然后循环遍历1~n,将遍历的数累乘到变量中即可。

第4题:

数据结构里,在递归程序中,经常借助选项中的哪种来完成算法()。

  • A、图
  • B、栈
  • C、链表
  • D、树

正确答案:B

第5题:

数据结构里,斐波那契数列的递归实现方法,就会使用到栈。


正确答案:正确

第6题:

数据结构里,汉诺塔问题,是递归解决的问题,需要()来帮助算法实现。

  • A、栈
  • B、图
  • C、二叉树
  • D、队列

正确答案:A

第7题:

在计算递归曲数时,如不使用递归过程.则一般悄况下必须借助于()数据结构。


正确答案:

第8题:

在计算递归函数时,如不使用递归过程,则一般情况下必须借助于( )数据结构。A.栈B.数C.双向队列D.广义表


正确答案:A
递归是指在定义自身的同时又出现了对自身的调用。如果一个函数在其定义体内直接调用自己,则称直接递归函数;如果一个函数经过一系列的中间调用语句,通过其它函数间接调用自己,则称间接递归函数;栈非常重要的一个应用是在程序设计语言中用来实现递归。

第9题:

斐波那契数列的计算,可以使用递归的方式计算,则需要使用哪项来帮助完成。()

  • A、栈
  • B、图
  • C、二叉树
  • D、队列

正确答案:A

第10题:

数据结构里,递归问题的解决都要靠栈来完成,以下可以递归实现的有()。

  • A、斐波那契数列
  • B、n!(n的阶乘)
  • C、汉诺塔问题
  • D、n的k次幂

正确答案:A,B,C,D

更多相关问题