zoukankan      html  css  js  c++  java
  • 递归

    递归

    递归就是A方法调用A方法!也就是自己调用自己

    利用递归可以用简单的程序来解决一些复杂的问题,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可以描述出解题过程所需要的多次计算,大大的减少了程序的代码量,递归的能力在于用有限的语句来定义对象的无限集合

    递归结构包括两个部分:

    • 递归头:什么时候不调用自身方法,如果没有头,将陷入死循环

    • 递归体:什么时候需要调用自身方法

     

    递归要考虑:边界条件,前阶段,返回阶段

    java都是栈机制的,如果递归的嵌套层数算法过多,会带来大量计算,占用大量空间内存。所以能不用递归就不用递归。用的递归前提是基数比较小。

    递归更适合作为一种思想来学习。

    public static void main(String[] args) {
           System.out.println(f(5));
      }

       //阶乘方法
       public static int f(int n){
           if(n == 1){
               return 1;
          }else {
               return n*f(n-1);
          }
      }

    这里就是阶乘用递归的方法来解决,但如果这里不是5而是更大的数,很容易系统卡死或者报错,所以能不用递归就不用递归。

     

  • 相关阅读:
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    网页排版中的浮动和定位(学习笔记)
    在html中,<input tyle = "text">除了text外还有几种种新增的表单元素
    初学者入门web前端:C#基础知识:函数
    初学者入门web前端 C#基础知识:数组与集合
    while/for循环
    jmeter http请求与参数化
    rpm -e --nodeps
  • 原文地址:https://www.cnblogs.com/jimmykane/p/12602644.html
Copyright © 2011-2022 走看看