【软考】递归调用
来源:互联网 发布:萨龙网络 编辑:程序博客网 时间:2024/06/07 17:22
是什么?
简单的说:递归就是在程序的运行过程中调用自己。
官方讲解:
递归调用是一种特殊的嵌套调用,是某个函数调用自己,而不是另外一个函数。递归调用一种解决方案,一种是逻辑思想,将一个大工作分为逐渐减小的小工作,比如说一个和尚要搬50块石头,他想,只要先搬走49块,那剩下的一块就能搬完了,然后考虑那49块,只要先搬走48块,那剩下的一块就能搬完了……,递归是一种思想,只不过在程序中,就是依靠函数嵌套这个特性来实现了。
什么时候用?
(1)数据的定义是按照递归定义的。
(2)问题解法按照递归算法实现。
(3)数据的结构形式是按递归定义的。
如:二叉树、广义表,由于结构的本身固有的递归特性,则他们的操作可递归的描述。
递归的小程序:
求斐波那契数列前40项和?
<span style="font-family:KaiTi_GB2312;">public class Fab{public static void main(String[] args){ System.out.println(f(40));}public static int f (int n){if (n <1) { System.out.println("dkdkdkk"); return -1;}int f1 = 1;int f2 = 1;int f =0;for(int i = 0;i<n-2 ; i++){f = f1 + f2;f1 = f2;f2 = f;}return f ;}}</span>
结果:
递归调用与嵌套调用的区别:
递归调用是调用方法本身,嵌套调用是调用别的方法。
递归与循环的区别:
循环是指在满足条件的情况下,重复执行一段代码。而递归可以理解为重复执行一个方法。
递归和其他对比的详细讲解:点我!
0 0
- 【软考】递归调用
- 【二】软考—递归
- 软考 递归式时间复杂度计算详解
- 软考 递归式时间复杂度计算详解
- 软考 递归式时间复杂度计算详解
- 一道考递归的题目
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- 递归调用
- Struts面试题
- 腾讯2015春招pc客户端开发练习卷
- noj 1004线性表的操作
- 链表的删除和插入
- Struts面试题
- 【软考】递归调用
- POJ 2528 Mayor's posters(线段树+离散化)
- android发送短信
- Permission is only granted to system apps
- Java中Object类
- JavaScript打开新页面的方法
- 【实例】html-canvas中实现图片的放大
- android系统service组件的线程关系
- Matlab中fft函数的用法及关键问题详解