递归的一般方法

递归,编程的时候时常会遇到,所以很多时候,我都在想能不能把递归搞成一个公式一样的东西。功夫不负有心人,在查阅了相关书籍,回想高中数学,加上我的体会,中得到了一个公式一样的东西,应该确定的说是一般的思路:

 

1。考虑特殊情况。

记得高中学习数列的时候,时常先考虑n=1这个特殊情况,嘎嘎~~

2。观察倒数第二步的情况。

数学里,我们时常会考虑n-1的情况。

3。最后一步与倒数第二步之间的关系。

利用n-1来求解n,把n-1看成一个整体,考虑它与n的关系。

 

于是我们可以得到一个更为一般的Delphi程序:

 

procedure DoRecursive(......)

begin

   if  测试特殊情况 then

   begin

      没有使用递归而得到了一个结果

   end

   else

   begin

       将原始问题分解为若干个与原始问题结构相同的子问题;

       递归调用子程序解决各个子问题;

       组合子问题的结果为原始问题的解;

   end;

end;

 

思路如此,希望高手不惜赐教

 

 

转载于:https://www.cnblogs.com/spider518/archive/2010/11/23/1885850.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值