niusouti.com
更多“在计算递归函数时,如不使用递归过程,则一般情况下必须借助于( )数据结构。A.栈B.数C.双向队列D.广 ”相关问题
  • 第1题:

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

    A.线性表

    B.栈

    C.队列

    D.树


    参考答案:B

  • 第2题:

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

    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的阶乘。求解的过程满足后调用先返回的特点,因此需要使用到栈。

  • 第3题:

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

    A.栈

    B.队列

    C.堆

    D.无序表


    A

  • 第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.线性表