C语言期末复习整理 递归.pdfVIP

  • 3
  • 0
  • 约3.85千字
  • 约 5页
  • 2020-11-11 发布于四川
  • 举报
C语⾔ - 递归 递归是程序设计中的⼀个重要⽅法,灵活地使⽤递归可以让我们的问题求解变得更为简单。 不过如果问题能够使⽤其他⽅法求解,我们⼀般不使⽤递归来完成,因为它运算效率更低。 那么递归是什么呢?下⾯是递归的定义: 递归:有关递归的定义,参⻅:递归。 看来看去,我们也看不出递归到底是什么意思。难道它在⽰意着我们:⼈类的本质是复读 机?好吧,换了本靠谱⼀点的字典,原来递归的意思是「⾃⼰调⽤⾃⼰」。 没错,递归的精髓就在于⾃我调⽤。设计⼀个递归的程序时,我们只需考虑下⽅的两个问题, 就可以完成⼀个递归程序的设计: 1. 递归的出⼝ (程序的结束点) 2. 当 n-1 的问题已经完成时,如何完成 n 的问题 递归的精妙之处在于,它将⼀个复杂的步骤拆分为⼀层⼀层,我们只需要完成这⼀层的操作, ⽽将其累积起来就可以实现整个流程,这有点像数学中的数学归纳法。在介绍完了递归的定义 和设计⽅式之后,我们来看⼏个典型的递归代码: 1. 计算阶乘 在着⼿写代码前,让我们先思考前⾯写的两个问题: 1. 当我们算到 1! 的时候,我们就可以直接返回 1 。 2. 当 (n-1)! 已经计算完成时,我们只需将 (n-1)! 再乘以 n 即可得到 n! 。 思考完成之后,我们就可以根据上⾯的思路编写

文档评论(0)

1亿VIP精品文档

相关文档