递归不是很懂?

风来花自开 2016-12-06 09:53:07
递归调用不是很懂,有没有这方面的一些资料
...全文
222 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小崔爱读书 2016-12-06
  • 打赏
  • 举报
回复
就是自己干自己呗。
爱睡觉的阿狸 2016-12-06
  • 打赏
  • 举报
回复
其实就是自己调用自己,就是递归
爱睡觉的阿狸 2016-12-06
  • 打赏
  • 举报
回复
引用 3 楼 m2200 的回复:
比如有一道经典的编程题,用递归就可以完美的解决,查询某一文件夹下所有文件名。
public class TestFindFileName {

	public static void main(String[] args) {
		File file = new File("D://book");
		find(file);
	}
	
	public static void find(File file){
		if(file.isDirectory()){
			File[] files = file.listFiles();
			if(files != null){
				for(File f : files){
					if(f.isDirectory()){
						//此处递归
						find(f);
					} else {
						System.out.println(f.getName());
					}
				}
			}
		} else {
			System.out.println(file.getName());
		}
	}
}
爱睡觉的阿狸 2016-12-06
  • 打赏
  • 举报
回复
比如有一道经典的编程题,用递归就可以完美的解决,查询某一文件夹下所有文件名。
ryuugu_rena 2016-12-06
  • 打赏
  • 举报
回复
简单一点的递归就是自己调用自己,复杂一点的就是几个之间有顺序的互相调用。你可以先了解下简单一点的递归,明白了简单的,复杂的也就好理解了。
小小六月天 2016-12-06
  • 打赏
  • 举报
回复
递归:方法可以调用自己。 用例(java程序):斐波那契数列 (递归实现)

public  int fibonacci(int n)
{  
        if(n <= 2)
       {  
            return 1;  
        }
       else
        {  
            return fibonacci(n-1) + fibonacci(n-2);  
        }  
    }  
建议: 你需要一个你认为简单并且能够反复研读的递归用例(斐波那契数列递归实现就很不错),接下来你可以尝试用编译器的调试功能逐条运行语句,关注运行过程及返回值。或者,你也可以将代码抄到纸上 但我希望你能注意以下细节,1)每一条语句单独一行,包括大括号。2)将每一行代码标上序号是有益无害的。3)你需要尝试运行每一条语句包括大括号。可以参考我给出的用例格式(在这我需要你知道上述java代码格式并不被多数java开发者所认可)。 递归要点(摘自 算法 第四版): 1.递归总有一个最简单情况。 2.递归调用总是尝试解决一个规模更小的子问题。 3.递归调用的父问题和尝试解决的子问题之间不应该有交集。 结束:递归及其重要但不难学,是必须要掌握的。
soton_dolphin 2016-12-06
  • 打赏
  • 举报
回复
比如说你有一个弟弟,你爸爸让你们算 1 + 2 +3 你很懒,你让你的弟弟算 2 + 3, 然后让他把结果告诉你,你在那个结果上加一,然后把结果告诉你的爸爸。 你的弟弟算好以后返回 5, 你再加上一,等于6再报告到你爸爸那里。你和你弟弟用的运算逻辑都一样,只不过你弟弟得到的参数比你得到的参数要少。 当然你没有无数个弟弟,你只有一个弟弟,这个条件就是递归里面很重要的base case
bmwsl 2016-12-06
  • 打赏
  • 举报
回复
看过盗梦空间没有?梦中梦。还理解不了,你就拿面镜子站在另一面镜子面前仔细看,你就懂了。
谁学逆向工程 2016-12-06
  • 打赏
  • 举报
回复
调用自身就是递归
嘻哈愚者 2016-12-06
  • 打赏
  • 举报
回复
这里有很多的递归讲解视频 http://www.chuanke.com/course/_递归讲解_____.html

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧