下载此文档

c语言 递归算法.ppt


文档分类:IT计算机 | 页数:约117页 举报非法文档有奖
1/117
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/117 下载此文档
文档列表 文档介绍
计算机语言与程序设计
谌卫军
清华大学软件学院
Introduction puter Programming
第八章递归算法
1
3
2
基本概念
基于回溯策略的递归
基于分治策略的递归
从前有座山,山上有座庙,庙里有一个老和尚
和一个小和尚,老和尚正在给小和尚讲故事。
讲的是什么故事呢?他说,从前……
Recursion
- See "Recursion".
"In order to understand recursion, one must first understand recursion."
C语言允许嵌套地调用函数,也就是说,在调用
一个函数的过程中,又去调用另一个函数。
函数的嵌套调用
void main( )
{

study_english ( );

}
void study_english( )
{
reading( );
listening( );
writing( )
}
void listening( )
{



}
函数的嵌套调用有一个特例,即递归调用,也就
是说,在调用一个函数的过程中,又出现了直接
或间接地去调用该函数本身。
void tell_story( )
{
int old_monk, young_monk;
tell_story ( ); // tell_story 函数的递归调用
}
函数的递归调用
?
void tell_story( )
{
static int old_monk, young_monk;
old_monk = old_monk + 1; // 年龄大了一岁
young_monk = young_monk + 1;
if(old_monk <= 60) // 递归形式
tell_story ( );
else
printf("对不起,已退休!"); // 递归边界
}
在语法上(简单)
递归即为普通的函数调用。
在算法上(难)
如何找到递归形式?
如何找到递归边界?
如何编写递归程序?
递归算法的类型
递归算法可以分为两种类型:
基于分治策略的递归算法;
基于回溯策略的递归算法。

c语言 递归算法 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数117
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ranfand
  • 文件大小1.26 MB
  • 时间2017-11-05