免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2013年下半年 嵌入式系统设计师 上午试卷 综合知识
  第49题      
  知识点:   递归函数   递归算法
  关键词:   递归算法   算法        章/节:   嵌入式系统程序设计       

 
设n的初始值为正整数,设计一个递归算法如下:

以下叙述中正确的是(49)。
 
 
  A.  计算fact(n)需要执行n次函数调用
 
  B.  计算fact(n)需要执行n+1次函数调用
 
  C.  计算fact(n)需要执行n+2次函数调用
 
  D.  计算fact(n)需要执行n-1次函数调用
 
 
 

  相关试题:函数          更多>  
 
  第48题    2015年下半年  
   40%
设n的初值为正整数,设计一个递归算法如下:

以下叙述中,正确的是(48)。
  第19题    2013年下半年  
   41%
程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的(19)。
  第20题    2016年下半年  
   38%
常用的函数参数传递方式有传值与传引用两种。(20)。
   知识点讲解    
   · 递归函数    · 递归算法
 
       递归函数
        递归函数是指函数直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的常用方法。
        递归过程的特点是“先逐步深入,然后再逐步返回”,它有两个基本要素:边界条件和递归模式,边界条件确定递归何时终止,也称为递归出口;递归模式表示大问题是如何分解为小问题的,也称为递归体。
 
       递归算法
        递归(recursion)是一种描述和解决问题的基本方法,用来解决可归纳描述的问题,或者是可分解为结构自相似的问题。所谓结构自相似,是指构成问题的部分与问题本身在结构上相似。这类问题具有的特点是:整个问题的解决可以分为两部分,第一部分是一些特殊或基本的情况,可直接解决;第二部分与原问题相似,可用类似的方法解决,但比原问题的规模小。
        由于第二部分比整个问题的规模小,所以每次递归时第二部分的规模都在缩小,如果最终缩小为第一部分的情况则结束递归。因此,通过递归不断地分解问题,第一部分和第二部分的解密切配合,完成原问题的求解。
        这类问题在数学中很常见,例如求n!。
        
        在该式中,fn-1)的计算与原问题fn)的计算相似,只是规模更小。
        【算法】用递归方法求A[k1]~A[k2]中的最大者,并作为函数值返回。
        
        【算法】设有一个整型数组中的元素是按非递减的方式排列的,递归地进行折半查找。
        
   题号导航      2013年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第49题    在手机中做本题