目录
- 一、递归的数学思想
- 二、递归函数
- 三、递归函数设计技巧
- 四、递归函数设计示例一
- 五、递归函数设计示例二
- 六、递归函数设计示例三
- 七、小结
一、递归的数学思想
递归是一种数学上分而自治的思想

递归需要有边界条件
- 当边界条件不满足时,递归继续进行
- 当边界条件满足时,递归停止
递归将大型复杂问题转化为与原问题相同但规模较小的问题进行处理。
二、递归函数
函数体内部可以调用自己
递归函数
递归函数是递归的数学思想在程序设计中的应用
- 递归函数必须有递归出口
- 函数的无限递归将导致程序栈溢出而崩溃
三、递归函数设计技巧
递归模型的一般表示法
四、递归函数设计示例一
用递归的方法编写函数求字符串长度
代码如下:
#include <stdio.h>
int strlen_r(const char* s)
{
if( *s )
{
return 1 + strlen_r(s+1);
}
else
{
return 0;
}
}
int main()
{
printf("%d\n", strlen_r("abc"));
printf("%d\n", strlen_r(""));
return 0;
}
输出结果如下:
五、递归函数设计示例二
斐波拉契数列递归解法
1,1,2,3,5,8,13,21,...
代码如下:
#include <stdio.h>
int fac(int n)
{
if( n == 1 )
{
return 1;
}
else if( n == 2 )
{
return 1;
}
else
{
return fac(n-1) + fac(n-2);
}
return -1;
}
int main()
{
printf("%d\n", fac(1));
printf("%d\n", fac(2));
printf("%d\n", fac(9));
return 0;
}
输出结果如下:
六、递归函数设计示例三
汉诺塔问题
- 将木块借助 B 柱由 A 柱移动到 C 柱
- 每次只能移动一个木块
- 只能出现小木块在大木块之上
汉诺塔问题分解
- 将 n-1 个木块借助 C 柱由 A 柱移动到 B 柱
- 将最底层的唯一木块直接移动到 C 柱
- 将 n-1 个木块借助 A 柱由 B 柱移动到 C 柱
代码如下:
#include <stdio.h>
void han_move(int n, char a, char b, char c)
{
if( n == 1 )
{
printf("%c --> %c\n", a, c);
}
else
{
han_move(n-1, a, c, b);
han_move(1, a, b, c);
han_move(n-1, b, a, c);
}
}
int main()
{
han_move(3, 'A', 'B', 'C');
return 0;
}
输出结果如下:
七、小结
- 递归是一种将问题分而自治的思想
- 用递归解决问题首先要建立递归的模型
- 递归解法必须要有边界条件,否则无解
相关推荐:
如何选择适合你的AI工具?全面解析AI工具哪个好用
SEO架构:提升网站流量的核心策略,东营南江全平台营销推广
优化原理:提升效率、创新突破的核心法则,印刷包装推广有哪里网站
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
SEO优化排名:让您的网站在搜索引擎中脱颖而出,我ai 达瓦仓决
在线AI生成文章:智能写作的未来趋势
如何用AI改文章,让写作更高效、精准,提升内容质量
ChatGPT+维护页面:您的智能助手之旅,安全、高效、无忧,奥特曼画图ai
WPJVX:开启数字化未来的智慧平台,关键词排名技术咨询乐云seo
seo需要买什么,seo需要考虑什么 ,ai做表头
ChatGPT连了外网也登不了?如何解决这一问题,重新畅享AI助力!,ai少女大瓜
好用的AI写作工具,提升写作效率与创意的最佳选择
SEO技术如何通过优化提升网站流量与排名,四平网站优化公司
SEO获客的秘诀:如何通过搜索引擎优化提升客户获取能力,厦门seo搜索优化排名
为什么说seo重要,为什么说seo重要一点 ,中通智能ai是什么意思
SEO手法如何通过精准优化提升网站排名,获取海量流量,网站建设协议流程是什么
云推SEO:让您的网站在激烈竞争中脱颖而出,网站优化公司欢迎来电
SEO化学物质:如何在化工行业提升搜索引擎排名和品牌曝光,rack ai
seo网站需要做什么,seo都需要做什么 ,ai怎么做喷漆效果
seo网站排名关键词优化,seo网站关键词优化怎么做 ,ai回廊
怎么用AI生成一篇文章?高效创作指南全揭秘!
ChatGPT打不开了吗?如何快速解决常见问题,恢复顺畅体验!,ai13212511845
ChatGPT打开后空白:如何解决这个困扰并高效使用AI助手,ai四声怎么写
文章AI生成标题:让创作更轻松,内容更精彩
ChatGPT页面不自动显示最新消息:如何解决这一困扰,提升使用体验?,斑马ai幼儿百度云网盘
ChatGPT198元永久会员,开启智慧之门,体验AI的极致服务!,老孙教ai
360ai答题-赋能教育,开启智能学习新纪元,ai 果汁
为什么要年前做SEO,企业为什么做seo推广 ,云南ai大数据公司
SEO查看-如何通过精确分析提升网站流量与排名,东丽网站建设价格
GPT-3模型下载:开启智能时代的无限可能,ai走入
《“查看更多”背后的秘密:让你的人生更加丰富多彩!》,宁安公司网站建设
SEO子-为你的网站注入流量的秘密武器,麻城网站网址优化
ChatGPT发生故障,背后隐藏着哪些不为人知的原因与挑战?,硬件ai和软件ai
Chatttst:开启智能沟通新时代的无限可能,上海联通ai
在线AI写文:开启高效创作新时代
SEO导流:如何通过精准优化实现网站流量大爆发,网站优化优化怎么做
用AI写文,开启创作新时代
SEO优化攻略:如何通过精准策略提升网站排名与流量,aI ow翻译
目前最火的AI软件有哪些?深度解析必备工具
SEO课:让你从小白变成搜索引擎优化高手,推广自媒体营销计划
为什么seo推广那么多,seo推广难吗 ,东莞ai听译平台
ChatGPT充值打不开?这几招教你轻松解决问题!,免费的ai写作绘图
内容创作新时代:自动生成文章的AI如何改变写作生态
OpenAI网站崩溃原因:背后的技术与挑战,千牛Ai智投在哪里找
WPJam:打破网站管理的壁垒,打造极致用户体验,广东谷歌seo工具
SEO但是,这些常见误区你真的知道吗?,凤岗网站建设开发
“多网建站”助力企业跨越发展,开启全新数字化时代,海南网站优化电池
SEO热词:提升网站排名的关键秘诀,一句话营销推广怎么写好
AI免费写作一键生成,效率与创意的完美结合
SEO伪创:提升网站排名的危险策略与如何避免,怎样介绍社交网站推广