gpt4 book ai didi

java - 一种方法中的双重递归

转载 作者:行者123 更新时间:2023-11-30 06:42:14 25 4
gpt4 key购买 nike

由于第二次递归调用,我无法想象程序的执行方式。解决这个问题最简单的方法是什么?

public class Recursion 
{

public static void main(String[] args)
{
f(3);

}

public static void f(int x)
{
if(x>0)
{
System.out.println(x + "top");
f(x-1);
System.out.println(x + "bottom");
f(x-1);
}
System.out.println("bert");
}
}

最佳答案

最后,将构建以下树:

      \
/\
/ \
/\ /\
/\/\/\/\

将每个分支点视为对具有特定值的 f() 的调用(3 是第一个分支点,2 代表下一个分支点,然后是 1,然后是 0)。

一步一步:

第一次调用 f(3) 是顶部的行。

      \

下一个调用是f(2):

      \
/
/

下一个调用是f(1):

      \
/
/
/

下一个调用是f(0):

      \
/
/
/
/

然后控制返回上一层,下一个调用再次是f(0):

      \
/
/
/
/\

等等:

      \
/
/
/\
/\

\
/
/
/\
/\/

\
/
/
/\
/\/\

然后另一侧重复该模式。

关于java - 一种方法中的双重递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53807930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com