网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
递归函数执行时,需要( )来提供支持。
A. 栈
B. 队列
C. 有向图
D. 二叉树
B. 队列
C. 有向图
D. 二叉树
参考答案
参考解析
解析:在递归调用中,需要在前期存储某些数据,并在后面又以存储的逆序恢复这些数据,以提供之后使用的需求,因此,需要用到栈来实现递归。简单的说,就是在前行阶段,对于每一层递归,函数的局部变量、参数值以及返回地址都被压入栈中。在退回阶段,位于栈顶的局部变量、参数值和返回地址被弹出,用于返回调用层次中执行代码的其余部分,也就是恢复了调用的状态
更多 “递归函数执行时,需要( )来提供支持。 A. 栈 B. 队列 C. 有向图 D. 二叉树 ” 相关考题
考题
在下列结论中,只有一个是正确的,它是( )。
A.递归函数中的形式参数是自动变量B.递归函数中的形式参数是外部变量C.递归函数中的形式参数是静态变量D.递归函数中的形式参数可以根据需要自己定义存储类型
考题
●当程序运行陷于死循环时,说明程序中存在 (41) 。在C语言中,函数定义及函数调用应该遵循的原则是 (42) 。以求n!为例,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是 (43) 。(41) A.词法错误B.静态的语义错误C.语法错误D.动态的语义错误(42) A.可以进行函数的嵌套定义,不可以进行函数的嵌套调用B.不可以进行函数的嵌套定义,可以进行函数的嵌套调用C.既不能进行函数的嵌套定义,也不能进行函数的嵌套调用D.既可以进行函数的嵌套定义,也可以进行函数的嵌套调用(43) A.递归程序经编译后形成较长目标代码,所以需要较多的运行时间B.递归程序执行过程中重复存取相同的数据占用了较多的时间C.递归程序执行时一系列的函数调用及返回占用了较多的时间D.递归程序执行时多次复制同一段目标代码占用了较多的时间
考题
在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C语言中不允许这样的递归调用
考题
在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则()。
A.称为函数的直接递归B.称为函数的间接递归C.称为函数的递归定义D.C语言中不允许这样的递归形式
考题
某个C程序中有4个函数t、u、v和w,执行时t调用了u和v,u调用了t和w,v调用了w,w调用了t和v。以下叙述中正确的是( )A.这4个函数都间接递归调用了自己B.除函数t外,其他函数都间接递归调用了自己C.除函数u外,其他函数都间接递归调用了自己D.除函数v和w外,其他函数都间接递归调用了自己
考题
Fibnacci数列的定义为:F0=0,F1=1,Fn=Fn-1+Fn-2(n≥2,n∈N*),要计算该数列的任意项Fn,既可以采用递归方式编程也可以采用循环语句编程,由于( ),所以需要较多的运行时间。A.递归代码经编译后形成较长目标代码
B.递归代码执行时多次复制同一段目标代码
C.递归代码执行时需要进行一系列的函数调用及返回且存在重复计算
D.递归代码执行过程中重复存取相同的数据
考题
关于递归定义的函数,下列说法正确的是()A、递归定义的函数一定是“递归计算”的B、递归定义的函数一定是“迭代计算”的C、有些递归定义的函数可以“迭代计算”,有些递归定义的函数则必须“递归计算”D、凡是可以“迭代计算”的函数,一定可以“递归计算”,凡是可以“递归计算”的函数,也一定可以“迭代计算”
考题
单选题关于递归定义的函数,下列说法正确的是()A
递归定义的函数一定是“递归计算”的B
递归定义的函数一定是“迭代计算”的C
有些递归定义的函数可以“迭代计算”,有些递归定义的函数则必须“递归计算”D
凡是可以“迭代计算”的函数,一定可以“递归计算”,凡是可以“递归计算”的函数,也一定可以“迭代计算”
考题
单选题以下叙述中正确的是( )。A
简单递归不需要明确的结束递归的条件B
任何情况下都不能用函数名作为实参C
函数的递归调用不需要额外开销,所以效率很高D
函数既可以直接调用自己,也可以间接调用自己
考题
多选题数据结构与算法里,A函数调用B函数,B函数又调用了A函数,这种调用是(),下列选项不是正确答案的是()。A直接递归B间接递归C非递归D嵌套调用
热门标签
最新试卷