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

题库2022-08-02  37

问题 调用递归过程或函数时,处理参数及返回地址需要用一种称为(  )的数据结构。A.队列B.栈C.多维数组D.顺序表

选项 A.队列
B.栈
C.多维数组
D.顺序表

答案 B

解析 本题考查数据结构基础知识。
    在函数调用过程中形成嵌套时,则应使最后被调用的函数最先返回,递归函数执行时也是如此。例如,用递归方式求4的阶乘(以factorial(n)表示求n的阶乘)的过程如下所示:
    factorial(4)=4*factnrial(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的阶乘。该求解过程中的函数调用和返回需要满足后调用先返回的特点,因此需要使用栈结构。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2427938.html

最新回复(0)