计算机常用算法与程序设计教程第3章递归与分治.pptxVIP

  • 2
  • 0
  • 约2.28千字
  • 约 38页
  • 2021-10-03 发布于河南
  • 举报

计算机常用算法与程序设计教程第3章递归与分治.pptx

章主要内礬3.1递归及其应用3.2分治法概述3.3分治法的基本应用3.4消除递归23.1递归及其应用3.1.1递归与递归调用一个函数在它的函数体内调用它自身称为 递归(recursion)调用。使用递归要注意以下几点:(1)递归就是在过程或函数里调用自身;必须有一个明确(2)在使用递增归策略时,IIII的递归结束条件,称为递归出口递归和分襪聽丽歟含有分治思想■例如石函数r如下:■ int r (int a)■ b=r(a-1);■ return b;■ }■这个函数是一个递归函数。但是运行该函数将无 休止地调用其自身,这显然是不正确的。为了防 止递归调用无终止地进行,必须在函数内有终止 递归调用的手段。常用的办法是加条件判断,满 足某种条件后就不再作递归调用,然后逐层返回3.1.2递归应用■【例3.1】用递归法计算n!。■[分珂n!的计算是一个典型的递归问题。使用递归方法来 输述布序,十分简单且易于理解。■[步骤1]描述递归关系递归关系是这样的一种关系。设 {U1,U2,U3,…,Un…漫一个序列,如果从某一项k开始, Un和它之前的若干攻之间存在一种只与n有关的关系,这 便称为递归关系。■注意到,当n=1 时,n!=n*(n-1)! (n=0时,0!=1),这就 是一种递归关系。对于特定的k!,它只与k与(k-1)!有关。■[步骤2]确定递归边界在步骤1的递归关系中,对大于k的

文档评论(0)

1亿VIP精品文档

相关文档