Page 121 - 高中 信息技术 选择性必修1 数据与数据结构
P. 121

 5.1 迭代与递归







                         每个月的兔子对数组成数列:1,1,2,3,5,8,13,21,34,55,89,144,…
                    此数列也称为斐波那契数列。



                             探究活动



                         讨 论

                         分组讨论,日常学习、生活中有哪些活动、工作流程能体现迭代的思想?理解迭代算

                    法思想及其编程实现原理。

                                             广东教育出版社
                      5.1.2 递归




                         1.递归的基本概念
                         若一个对象用自己来定义自己或部分地包含自己,则称这个对象是递归的;若一个过
                    程直接地或间接地调用自己,则称这个过程是递归过程。在程序设计中,函数直接调用函

                    数本身,称为直接递归调用;在函数中调用其他函数,其他函数又调用原函数,构成了函
                    数自身的间接调用,则称为间接递归调用。
                         2.递归在数学中的应用
                         在数学中,有这样一种数列,很难求出它的通项公式,但数列中各项间关系却很简

                    单,于是人们想出另一种办法来描述这种数列,即通过初值及与前面临近几项之间的关系
                    来描述。要使用这样的描述方式,至少要提供两个信息:一是最前面几项的数值,二是数
                    列间各项的关系。


                         例3:阶乘数列是由这样一组数组成:1,2,6,24,120,720,…,阶乘公式可以
                    表示为n! = n×(n-1)×(n-2)×…×1(n>0),数学上用这样的方式来描述阶乘数列:
                               1             (n=1)
                         n!=

                               n×(n-1)!      (n>1)
                         下面的递归函数f可以实现求n!的值:
                         int f(int n)  //定义递归函数f

                         {
                             if(n==1) return 1;  //当n=1时返回1,结束递归
                             return n*f(n-1);    //当n>1时返回n*f(n-1),调用函数f来计算(n-1)!
                         }

                         这是递归函数的最简单形式,从中可以明显看出递归函数一般的写法特点:先处理一
                    些特殊情况(递归终结条件),再处理递归关系。
                         递归函数的执行过程总是先通过递归关系不断地缩小问题的规模,直到简单到可以作
                    为特殊情况处理而得出直接的结果,再通过递归关系逐层返回到原来的数据规模,最终得

                                                                                                                    113113







          21X2204.indd   113                                                                                       2019/9/26   13:53:37
   116   117   118   119   120   121   122   123   124   125   126