博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递归的形式过程
阅读量:5298 次
发布时间:2019-06-14

本文共 1330 字,大约阅读时间需要 4 分钟。

前言:

迭代的是人,递归的是神。——L. Peter Deutsch

展开递归调用,是分析递归的利器。

进行数学归纳,是使用递归的利器。

对初学者而言,讲一大堆理论,不如举一个例子。

本系列分三篇分析及使用递归。

 

第一篇——递归调用的分析

第二篇——递归调用的初步使用

第三篇——递归调用的进阶使用

 

一、递归调用的一般结构。

递归函数一般有如下特征:

recursionFun()

{

     //第一部分:递归结束条件,前期处理。

     if 递归结束条件

         return;

     //第二部分:递归调用。

     recusionFun();

     //第三部分:递归调用后期处理,也可能有return语句。

}

 

二、递归调用的4种形式。

下面看递归调用的4种形式:

1、

void recursionFun(int n){	if (n == 0)	{		return;	}	cout << n;	recursionFun(n - 1);}
recursionFun(3)输出321.

 

 

2、

void recursionFun(int n){	if (n == 0)	{		return;	}	recursionFun(n - 1);
cout << n;
}
 
recursionFun(3)输出123.

 

 

3、

void recursionFun(int n){	if (n == 0)	{		return;	}	cout << n;	recursionFun(n - 1);	cout << n;}
 
recursionFun(3)输出321123.

 

 

4、

int recursionFun(int n){	if (n == 1)	{		return 1;	}	int sum = 0;	sum = n + recursion(n - 1);	return sum;}
 
recursionFun(3)输出6.

 

二、第1种形式的分析。

这里为了简便以recursionFun(2)为例。

void recursionFun(int n){	if (n == 0)	{		return;	}	cout << n;	recursionFun(n - 1);}

 

记住,把递归调用展开分析!如下图。

    image

三、第2种形式的分析。

 

 

void recursionFun(int n){	if (n == 0)	{		return;	}	recursionFun(n - 1);        cout << n; }

 

 image

 

四、第3种形式的分析。

void recursionFun(int n){	if (n == 0)	{		return;	}	cout << n;	recursionFun(n - 1);	cout << n;}

 

image

 

 

五、第4种形式的分析。

int recursionFun(int n){	if (n == 1)	{		return 1;	}	int sum = 0;	sum = n + recursion(n - 1);	return sum;}

 

image

转载于:https://www.cnblogs.com/lyunyu/archive/2013/06/01/3112688.html

你可能感兴趣的文章
通过httplib2 探索的学习的最佳方式
查看>>
快来熟练使用 Mac 编程
查看>>
Node.js 入门:Express + Mongoose 基础使用
查看>>
plsql使用,为什么可以能看见其他用户的表
查看>>
一步步教你轻松学奇异值分解SVD降维算法
查看>>
使用pager进行分页
查看>>
UVA - 1592 Database
查看>>
Fine Uploader文件上传组件
查看>>
javascript中的传递参数
查看>>
objective-c overview(二)
查看>>
python查询mangodb
查看>>
consonant combination
查看>>
驱动的本质
查看>>
Swift的高级分享 - Swift中的逻辑控制器
查看>>
Swagger简单介绍
查看>>
sql语句中where与having的区别
查看>>
Python数据分析入门案例
查看>>
vue-devtools 获取到 vuex store 和 Vue 实例的?
查看>>
Linux 中【./】和【/】和【.】之间有什么区别?
查看>>
内存地址对齐
查看>>