zoukankan      html  css  js  c++  java
  • 递归

    概述

    递归:指在当前方法内调用自己的这种现象。
    
    递归的分类:
        递归分为两种,直接递归和间接递归。
        直接递归称为方法自身调用自己。
        间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。
    
    注意事项:
        递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
        在递归中虽然有限定条件,但是递归次数不能太多。否则也会发生栈内存溢出。
        构造方法,禁止递归
    
    递归的使用前提
        当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归
    

    计算1~n的和
    public static void main(String[] args) {
    //计算1~num的和,使用递归完成
    int num = 5;
    // 调用求和的方法
    int sum = getSum(num);
    // 输出结果
    System.out.println(sum);

    }
    /*
      通过递归算法实现.
      参数列表:int 
      返回值类型: int 
    */
    public static int getSum(int num) {
      	/* 
      	   num为1时,方法返回1,
      	   相当于是方法的出口,num总有是1的情况
      	*/
    	if(num == 1){
    		return 1;
    	}
      	/*
          num不为1时,方法返回 num +(num-1)的累和
          递归调用getSum方法
        */
    	return num + getSum(num-1);
    }
  • 相关阅读:
    python-study-08
    第一周代码整理
    python-study-阶段总结
    python-study-07
    二分查找数组中与目标数字(可以是浮点型)最近的数的位置
    寻找最大数
    零件分组(stick)
    走迷宫
    自然数的拆分问题 字典序
    素数环(回溯)
  • 原文地址:https://www.cnblogs.com/yds1314/p/13932655.html
Copyright © 2011-2022 走看看