现在的位置: 首页 > 综合 > 正文

递归解决问题的方法

2013年10月19日 ⁄ 综合 ⁄ 共 486字 ⁄ 字号 评论关闭

在一个子程序(过程或函数)的定义中又直接或间接地调用该子程序本身,称为递归。递归是一种非常有用的程序设计方法。用递归算法编写的程序结构清晰,具有很好的可读性。递归算法的基本思想是:把规模大的、较难解决的问题变成规模较小的、易解决的同一问题。规模较小的问题又变成规模更小的问题,并且小到一定程度可以直接得出它的解,从而得到原来问题的解。

利用递归算法解题,首先要对问题的以下三个方面进行分析:

一、决定问题规模的参数。需要用递归算法解决的问题,其规模通常都是比较大的,在问题中决定规模大小(或问题复杂程度)的量有哪些?把它们找出来。

二、问题的边界条件及边界值。在什么情况下可以直接得出问题的解?这就是问题的边界条件及边界值。

三、解决问题的通式。把规模大的、较难解决的问题变成规模较小、易解决的同一问题,需要通过哪些步骤或等式来实现?这是解决递归问题的难点。把这些步骤或等式确定下来。

把以上三个方面分析好之后,就可以在子程序中定义递归调用。其一般格式为:

if 边界条件 1 成立 then

赋予边界值 1

【 elseif 边界条件 2 成立 then

赋予边界值 2

┇ 】

else

调用解决问题的通式

endif

抱歉!评论已关闭.