C++程序设计—大模型思维与实践课件 第11章 递归.pptxVIP

  • 4
  • 0
  • 约1.75万字
  • 约 69页
  • 2026-06-18 发布于山东
  • 举报

C++程序设计—大模型思维与实践课件 第11章 递归.pptx

第十一章递归C++程序设计——大模型思维与实践

1递归的定义

3引言递归是一种编程技术,它允许一个函数直接或间接地调用自身,形成一种循环。递归函数通常会将一个大问题分解为一个或多个小问题,然后对这些小问题进行递归处理。每个递归调用都会使问题规模减小,直到达到一个基本情况,这个基本情况可以直接解决,而无需进一步的递归调用。递归可以分成直接递归和间接递归两类。直接递归指一个函数直接调用自身。例如,下面的函数f内部又调用了f函数:intf(intx){intz;z=f(x+1);return(2*z);}注意:这个函数的递归没有结束条件,会无限递归下去,直到栈溢出

4引言间接递归是指一个函数通过一系列的函数调用最终调用自身。例如,下面的函数f1和f2的相互调用构成了一个间接递归的例子:注意:f1函数调用了f2函数,f2函数又调用了f1函数,形成了一个间接递归。同样,这个间接递归也没有结束条件,所以会无限递归下去,直到栈溢出。voidf1(){//其它语句f2();}voidf2(){//其它语句f1();}间接递归在实际应用中非常罕见,因为它几乎总是导致无限循环。在设计递归函数时,应该总是确保存在明确的结束条件防止无限递归。

2递归示例

6计算n!例:计算n!。公式可以写成如下形式:?使用递归思想解决问题:将计算n

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档