递归de思想

本文介绍了递归的基本思想,包括明确函数功能、确定递归结束条件和建立函数等价关系式。通过计算阶乘的例子,详细阐述了如何运用这三个要素来实现递归函数,帮助读者深入理解递归的概念。
摘要由CSDN通过智能技术生成

递归的思想
递归的基本思想是某个函数直接或者间接地调⽤⾃⾝,这样原问题的求解就转换为了许多性质相同但是规模更⼩的⼦问题。求解时只需要关注如何把原问题划分成符合条件的⼦问题,⽽不需要过分关注这个⼦问题是如何被解决的。
 

递归有三⼤要素
第⼀要素:明确你这个函数想要⼲什么
对于递归,我觉得很重要的⼀个事就是,这个函数的功能是什么,他要完成什么样的⼀件事,⽽这个,是完全由你⾃⼰来定义的。也就是
说,我们先不管函数⾥⾯的代码什么,⽽是要先明⽩,你这个函数是要⽤来⼲什么。
例如,我定义了⼀个函数
/ /算 n 的阶乘(假设n不为0)
int f(int n){
}
这个函数的功能是算 n 的阶乘。好了,我们已经定义了⼀个函数,并且定义了它的功能是什么,接下来我们看第⼆要素。
第⼆要素:寻找递归结束条件
所谓递归,就是会在函数内部代码中,调⽤这个函数本⾝,所以,我们必须要找出递归的结束条件,不然的话,会⼀直调⽤⾃⼰,进⼊⽆底
洞。也就是说,我们需要找出当参数为啥时,递归结束,之后直接把结果返回,请注意,这个时候我们必须能根据这个参数的值,能够直接
知道函数的结果是什么。
例如,上⾯那个例⼦,当 n = 1 时,那你应该能够直接知道 f(n) 是啥吧?此时,f(1) = 1。完善我们函数内部的代码,把第⼆要素加进代
码⾥⾯,如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值