2、2.将递归算法转换成对应的非递归算法时,通常需要使用()来保存中间结果。A.队列B.链表C.树D.栈
2、2.将递归算法转换成对应的非递归算法时,通常需要使用()来保存中间结果。
A.队列
B.链表
C.树
D.栈
参考答案和解析
【答】:简单递归程序转换为非递归程序可以采用算法设计中的递推技术。递归方法与递推方法共同采用的分划技术,为使用递推技术解决递归问题奠定了基础。由于简单递归问题求解过程中无需回溯,因而要转换成非递归方式实现完全可以使用递推技术。为了使用自底向上的递推方式来解决递归问题,利用子问题已有的解构造规模较大子问题的解,进而构造原问题的解,必须建立原问题与子问题解之间的递推关系,然后定义若干变量用于记录求解过程中递推关系的每个子问题的解;程序的执行便是根据递推关系,不断修改这些变量的值,使之成为更大子问题的解的过程;当得到原问题解时,递推过程便可结束了。
相关考题:
●若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用 (26) 算法,因为 (27) 。(26) A.先递归后递推B.先递推后递归C.递归D.递推(27) A.递推的效率比递归高B.递归宜于问题分解C.递归的效率比递推高
单选题若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用__(1)__算法,因为__(2)__。空白(2)处应选择()A递推的效率比递归高B递归宜于问题分解C递归的效率比递推高D递推宜于问题分解
多选题数据结构与算法里,一般来说,递归需要有下列哪三项条件()。A递归返回段B递归前进段C递归出口D递归中间段