zoukankan      html  css  js  c++  java
  • java 面向对象(七):类结构 方法(四)递归方法

    1.定义:
    递归方法:一个方法体内调用它自身。
    2.如何理解递归方法?
    > 方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。
    > 递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。
    3.举例:
    // 例1:计算1-n之间所自然数的和

        public int getSum(int n) {// 3
    
            if (n == 1) {
                return 1;
            } else {
                return n + getSum(n - 1);
            }
    
        }

    // 例2:计算1-n之间所自然数的乘积:n!

        public int getSum1(int n) {
    
            if (n == 1) {
                return 1;
            } else {
                return n * getSum1(n - 1);
            }
    
        }

    //例3:已知一个数列:f(0) = 1,f(1) = 4,f(n+2)=2*f(n+1) + f(n),
    //其中n是大于0的整数,求f(10)的值。

        public int f(int n){
            if(n == 0){
                return 1;
            }else if(n == 1){
                return 4;
            }else{
    //            return f(n + 2) - 2 * f(n + 1);
                return 2*f(n - 1) + f(n - 2);
            }
        }

    //例4:斐波那契数列

    //例5:汉诺塔问题

    //例6:快排

  • 相关阅读:
    异常处理学习笔记
    android 测试
    android 创建快捷方式
    POJ 3320 尺取法(基础题)
    HDOJ 1260 DP
    数位DP练习
    P2727 Stringsobits
    poj 2229 DP
    Canada Cup 2016 C. Hidden Word
    hdoj 1231 最大连续子列和
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/13168703.html
Copyright © 2011-2022 走看看