zoukankan      html  css  js  c++  java
  • 递归算法

    递归算法

      A方法调用B方法,我们很容易理解!递归就是:A方法调用A方法!就是自己调用自己,因此我们在设计递归算法时,一定要指明什么时候自己不调用自己。否则,就是个死循环!

    递归算法要点

      

    递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或者间接的调用自己。

    利用递归可以用简单的程序来解决一些复杂的问题。比如:大多数排序使用的就是递归算法。

      

      递归结构包括两个部分:

          1.    定义递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环。

          2.    递归体。解答:什么时候需要调用自身方法。

    /**
     * 测试递归算法
     * @author 尚学堂高淇www.bjsxt.cn
     *
     */
    public class TestRecursion {
        static int a = 0;
        public static void test01(){
        a++;
        System.out.println("test01:"+a);
        if(a<=10){  //递归头
        test01();
        }else{      //递归体
        System.out.println("over");
        }
    }
    public static void test02(){
        System.out.println("TestRecursion.test02()");
    }
    public static long factorial(int n){
        if(n==1){
        return 1;
        }else{
        return n*factorial(n-1);
        }
    }
    public static void main(String[] args) {
        test01();
        System.out.println(factorial(10));  
        }
    } 
    

      阶乘代码的调用执行过程

  • 相关阅读:
    底图与蒙版的过渡效果transition
    消除blur属性的边框
    jquery ajax实例教程和一些高级用法
    常用js正则表达式大全
    HTML5 + JS 调取摄像头拍照下载
    JS运动框架
    JS 实现AJAX封装(只限于异步)
    事件委托详解
    JS 实现随机验证码功能
    利用JS调取电脑摄像头,实现拍照功能
  • 原文地址:https://www.cnblogs.com/zqy6666/p/12052769.html
Copyright © 2011-2022 走看看