小编Jah*_*ein的帖子

识别可以转换为递归方法的方法

我一直在四处寻找练习我的递归,但是我在codingBat和其他一些问题上已经没有实践问题了.如果您有更多建议,请随时评论!

我的问题是,即使您必须或可以更改参数,您如何确定何时可以简单地将方法转换为递归方法?

需要递归方法的元素将是一个需要的基本情况,它认为递归的结束,以及循环或不循环原因(它恢复到基本情况条件).我可能错过了递归方法的任何其他重要方面吗?

我已经找到的递归方法的一个例子(但尚未解决被递归)如下所示.它来自codingBat,我不是要求任何人纠正我的代码.它只是一个可以转换的方法的例子,我发现了.我会弄清楚.

编辑为答案.由于混淆删除了示例.编写递归方法时需要注意的要求:

  1. StackOverFlow错误.
  2. 包含循环的所有方法都可以递归,但它可能不是最佳的实现选择.
  3. 对于要解决的问题,递归方法应该是自然的.

java recursion

1
推荐指数
1
解决办法
75
查看次数

如何提高 Java 递归的速度

问题:如何使用其他技术加速递归方法。

简单的斐波那契数列方法使用递归来输出输入的第 N 个数字。

任何建议都会很棒,谢谢。

前任; 输入 50 需要将近一分钟才能最终获得输出。

编辑:更改问题文本,因为它不是递归太慢,而是我的代码。

public static long cycle(int x) {
  if(x<=1) {
    return x;
  } else {
    return cycle(x-1)+cycle(x-2);
  }
}
Run Code Online (Sandbox Code Playgroud)

java recursion

0
推荐指数
1
解决办法
1278
查看次数

标签 统计

java ×2

recursion ×2