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);
     
         }
     }
  • 相关阅读:
    ping 原理与ICMP协议
    ARP详解
    TCP,UDP,IP数据包的大小限制
    Java7--try
    递归,尾递归,回溯
    OLEDB数据源
    hexo next主题为博客添加分享功能
    Windows数据库编程接口简介
    2017总结与2018规划
    为 MariaDB 配置远程访问权限
  • 原文地址:https://www.cnblogs.com/moyijian/p/9830358.html
Copyright © 2011-2022 走看看