递归

穿精又带淫゛_ 提交于 2019-11-30 02:47:39

概述

  从程序设计的角度看,递归是一种程序设计方法。函数直接或间接地调用自身,称为递归调用。递归调用是用相同的策略去解决规模更小的问题,直至问题规模达到某个边界条件时,不再进行递归调用,而是直接处理。

  函数递归调用的嵌套层数称为递归层次。其中,其他函数对递归函数的调用为第0层,递归函数第一次调用自身为第1层......以此类推。递归函数的执行过程为:

  1. 执行第n-1(n>0)层的代码到调用递归函数时,进入第n层,执行第n层递归函数的代码。

  2. 第n(n>0)层递归函数的执行结果返回到第n-1层,之后执行第n-1层调用递归函数之后的代码。

  编写递归函数时需要注意:

  1. 递归函数传入引用类型的数据时会改变数据本身。

  2. 递归必须设置退出条件,而且每次递归时都是向退出条件逼近,否则就变成了无限递归,最终会出现StackOverflowError。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!