zoukankan      html  css  js  c++  java
  • java之递归学习

    递归思想(2018-10-22):

    • 递归就是方法里调用自身

    • 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口

    • 递归算法代码显得很简洁,但递归算法解题的运行效率较低。所以不提倡用递归设计程序。

    • 在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等,所以一般不提倡用递归算法设计程序。

      在做递归算法的时候,一定把握出口,也就是做递归算法必须要有一个明确的递归结束条件。这一点是非常重要的。其实这个出口就是一个条件,当满足了这个条件的时候我们就不再递归了。

    //1、用递归方法实现阶乘计算

    class Factorial {
         //递归函数
         int fact(int n){
             if(n==1){
                 return 1;
             }else{
                 return fact(n-1)*n;
             }
         }
     }
     public class TestFactorial{
         public static void main(String[] args) {
             Factorial factorial= new Factorial();
             System.out.println("factorial(10)="+factorial.fact(10));
        }
     }

    //2、一列数的规则如下: 1、1、2、3、5、8、13、21、34 ,求第30位数是多少?使用递归实现

     public class FibonacciSequence {
         public static void main(String[] args){
            System.out.println(Fribonacci(9));
     
         }
         public static int Fribonacci(int n){
             if(n<=2)
                 return 1;
             else
                return Fribonacci(n-1)+Fribonacci(n-2);
     
         }
     }
  • 相关阅读:
    收藏本站
    JS动态生成ID+JS绑定数据
    CSS样式a:link
    C#绑定gridview
    jQuery checkbox 全选、全取消
    JS打开新窗口
    中用图片代替浏览按钮
    给button端添加客户端方法
    jQuery操作 checkbox 的全选、反选 , radio, select 功能
    C#弹出对话框
  • 原文地址:https://www.cnblogs.com/moyijian/p/9830358.html
Copyright © 2011-2022 走看看