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

题目

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

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

2、递归函数的实现与哪种数据结构直接相关?

A.栈

B.队列

C.堆

D.无序表


A

第2题:

递归过程或函数调用时,处理参数及返回地址,使用的数据结构是

A.队列

B.多维数组

C.栈

D.线性表


第3题:

调用递归过程或函数时,处理参数及返回地址需要用一种称为( )的数据结构。

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B
解析:在递归函数执行时函数调用过程中形成嵌套时,最后被调用的函数最先返回。例如,用递归方法求3的阶乘(以factorial(n)表示n的阶乘)的过程如下:factorial(3)=3*factorial(2)=3*(2*factorial(1))=3*(2*1)=3:1:2=6。显然,要求3的阶乘,需要递归调用2的阶乘,要求2的阶乘,需要先求出l的阶乘,依此类推,求出1的阶乘后才得到2和3的阶乘。求解的过程满足后调用先返回的特点,因此需要使用到栈。

第4题:

调用递归过程或函数时,处理参数及返回地址需要用一种称为(11)的数据结构。

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B
解析:本题考查数据结构基础知识。
  在函数调用过程中形成嵌套时,则应使最后被调用的函数最先返回,递归函数执行时也是如此。例如,用递归方式求4的阶乘(以factorial(n)表示求n的阶乘)的过程如下所示:
  factorial(4)=4*factorial(3)
        =4*(3*factorial(2))
        =4*(3*(2*factorial(1)))
        =4*(3*(2*1)
        =4*(3*2)
        =4*6
        =24
  显然,要求4的阶乘,需要通过递归调用求出3的阶乘,要求出3的阶乘,必须先求出2的阶乘,依此类推,求出1的阶乘后才能得到2的阶乘,然后才能得到3和4的阶乘。该求解过程中的函数调用和返回需要满足后调用先返回的特点,因此需要使用栈结构。

第5题:

在将递归算法转换成非递归算法时,通常要借助的数据结构是()。

A.线性表

B.栈

C.队列

D.树


参考答案:B

第6题:

递归算法一般需要利用______实现。

A.队列

B.循环链表

C.栈

D.双向链表


正确答案:C
解析:递归是指一个过程直接或间接地调用自己。在递归算法的运行过程中,需要利用栈保存递归过程的运算结果、各种参数和返回地址等工作记录,从而使递归过程得以顺利进行。

第7题:

调用递归过程或函数时,处理参数及返回地址需要用一种称为什么的数据结构。

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B

第8题:

● 调用递归过程或函数时,处理参数及返回地址需要用一种称为 (11) 的数据结构。

(11)

A. 队列

B. 栈

C. 多维数组

D. 顺序表


正确答案:B

第9题:

● 调用递归过程或函数时,处理参数及返回地址需要用一种称为(39)的数据结构。

(39)

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B