• 递归


    定义:在定义自身的过程中又直接或间接调用自身的一种算法。

    组成元素:
        1.递归调用
        2.递归终止条件
        
    适用范围:
        1.一个问题可被分解为若干层简单的子问题
        2.子问题与其上一层问题解决方法一致
        3.外层问题的解决依赖子问题的解决
        
    范例:Fibonacci数列
    1.Fibonacci类

     1 /**
     2  * @Description: 斐波那契数列:
     3  * 1,1,2,3,5,8,13,21
     4  * F(n) = F(n-1) + F(n-2)
     5  * @author Ivy
     6  */
     7 public class Fibonacci {
     8 
     9     /**
    10      *
    11      * @Description: 计算F(n)
    12      * @param n 月份数
    13      * @return F(n) 兔子的总对数
    14      */
    15     public int F(int n) {
    16         if (n < 1) {
    17             return 0;
    18         } else if (n == 1 || n == 2) {
    19             return 1;
    20         } else {
    21             return F(n-1) + F(n-2);
    22         }
    23     }
    24     
    25 }


    2.测试类

     1 public class FibonacciTest {
     2 
     3     public static void main(String[] args) {
     4 
     5         Fibonacci fibonacci = new Fibonacci();
     6         int n = 8;
     7         System.out.println("月数:" + n + ",兔子的对数:" + fibonacci.F(n));
     8         
     9     }
    10 
    11 }


    范例:用递归计算n!
    1.阶乘类 - Factorial

     1 /**
     2  * @Description: 用递归计算n!
     3  * @author Ivy
     4  */
     5 public class Factorial {
     6 
     7     public int recur(int n){
     8         if (n == 0) {
     9             return 1;
    10         } else {
    11             return n*recur(n - 1);
    12         }
    13     }
    14     
    15 }


    2.测试类

     1 public class FactorialTest {
     2 
     3     public static void main(String[] args) {
     4         Factorial factorial = new Factorial();
     5         int n = 4;
     6         System.out.println(n + "!:" + factorial.recur(n));
     7 
     8     }
     9 
    10 }




        
       

  • 相关阅读:
    jenkins更换国内源
    jenkins修改初始密码
    jenkins常用插件
    jenkins安装
    ResNet几种变体,以及DenseNet解释
    预测某个位置使用全局特征和使用周围特征的区别
    SPP Net作用
    yolov3 size说明,shortcut残差
    F.pad说明 用于pad操作
    自己的yolov3模型创建全流程
  • 原文地址:https://www.cnblogs.com/ivy-xu/p/5749522.html
Copyright © 2020-2023  润新知