问题描述
最近我遇到递归的算法,因为自己一直搞不懂什么方法的执行过程~希望有前辈好好给我讲讲,最好带一个详细的例子,感谢了
解决方案
解决方案二:
递归,简单说就是自己调用自己,直到执行循环终止
解决方案三:
本帖最后由 caozhy 于 2012-05-29 00:08:36 编辑
解决方案四:
这个确实是最基本的一个递归,应该没有比这更通俗易懂的了。引用2楼的回复:
比如计算1+2+3+...+100我们有一个函数sum(max),1+2+3+...+100记作sum(100)那么sum(100)=sum(99)+100,也就是1~100的和可以表示为1~99的和加上100,这个能理解么?而sum(99)可以表示成sum(98)+99因此,我们可以写如下的函数sum(max)=sum(max-1)+max同时,我……
解决方案五:
其实递归就是数学归纳法在程序上的实现。
解决方案六:
比如遍历一棵树(典型的,我们要在C盘中寻找一个文件),使用递归是最容易理解的。你可以把寻找C盘下某文件的问题分解为,寻找C盘下每个文件夹下是否有这样的文件,以及C盘本身有没有这样的文件。而对于每个文件夹来说,它又可以分解为,它自身文件夹下的文件夹是否有这样的文件,以及自身文件夹是否有这样的文件,伪代码如下:findfolder(foldername){foreach(folderinfoldername){findfolder(folder)}finditself}
时间: 2024-10-10 01:49:12