只有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈()
A.对
B.错
正确答案是 B
递归工作栈里面包括返回地址、本层的局部变量和递归调用的形参代换用实参,所以正常情况下,无论递归过程有没有使用局部变量,转换为非递归过程都需要用栈来模拟这个递归调用过程
大佬,能转载下吗?
学到了,原来是这样
表示题目读的不太懂..
举个例子,求阶乘递归转非递归就没有用到栈。
递归过程转换为非递归过程,一般都要用栈来模拟这个过程调用
递归工作栈里面包括返回地址、本层的局部变量和递归调用的形参代换用实参,所以正常情况下,无论递归过程有没有使用局部变量,转换为非递归过程都需要用栈来模拟这个递归调用过程 当然,有一些特殊递归不用栈就可以直接转换,比如尾递归、常系数递推等,无论是否有局部变量
一棵具有n个结点的二叉树,若它有m个叶子结点,则该二叉树中度为1的结点个数是多少?
请实现KMP算法?
北京有一条1公里长的街道,你认为一天能收多少钱的停车费?
怎么理解产品经理与技术研发之间的关系?
大佬,能转载下吗?
学到了,原来是这样
表示题目读的不太懂..
举个例子,求阶乘递归转非递归就没有用到栈。
递归过程转换为非递归过程,一般都要用栈来模拟这个过程调用
递归工作栈里面包括返回地址、本层的局部变量和递归调用的形参代换用实参,所以正常情况下,无论递归过程有没有使用局部变量,转换为非递归过程都需要用栈来模拟这个递归调用过程
当然,有一些特殊递归不用栈就可以直接转换,比如尾递归、常系数递推等,无论是否有局部变量