如何快速写出一个递归程序

想必大家对递归程序并不陌生,比如大家都非常熟悉的求1到100的和(不陌生吧,哈哈),还有网站开发中渲染具有父子关系的文章或产品分类,这些都离不开递归。可能有些人上手就能写,有些人能看懂但是自己动手却写不出来,或者思维钻到递归程序中拔不出来了。那么如何快速的写出一个递归程序呢?

一、什么是递归

简单来说,程序调用自身的编程技巧就称为递归。一般来说,递归需要有边界条件、递归前进阶段和递归返回阶段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

二、递归的意义

递归的意义就在于将问题的规模缩小,并且缩小后问题并没有发生变化,这样就可以继续调用自身来完成接下来的任务。

三、怎样写递归程序

下面以js代码为例来计算数字1到n的和,function sum(n)

1、边界条件

递归方法不可能一直调用下去,需要一个条件来结束递归调用,否则会导致堆栈溢出。

if(n <= 1){

return n;

}

2、递归前进

递归前进的过程就是我们思考的过程。

else{

n += sum(n-1);

return n;

}

在一般的编程实践中,我们通常需要用大脑模拟电脑来执行每一条语句,从而确定编码的正确性,这在递归编码中是不需要的。递归编码的过程中,只需要不断的演进上面的两条就足够了,切不可陷入程序的执行流中!

四、最后以另一个渲染产品分类的实例来结束本文

通过此文你是否对递归有了更深刻的认识呢,相信后面再写递归程序的时候你会更加的得心应手。

相关文章

发表评论