Data Structure
文章平均质量分 71
zhengyingu
这个作者很懒,什么都没留下…
展开
-
函数的递归调用
递归的基本概念 递归是一种常用的程序设计技术,C语言中,允许函数递归调用。递归是在连续执行某一处理过程时,该过程中的某一步要用到它自身的上一步(或上几步)的结果。在一个程序中,若存在程序自己调用自己的现象就是构成了递归。如果函数funA在执行过程又调用函数funA自己,则称函数funA为直接递归。如果函数funA在执行过程中先调用函数funB,函数funB在执行过程中又调用函数f...原创 2011-10-24 17:20:10 · 359 阅读 · 0 评论 -
递归程序的执行过程
我们首先从一个简单的递归程序开始分析递归程序的执行过程。 例9-27:用递归函数求n!。#include <stdio.h>main ( ){ int n, p;printf ("N=?"); scanf ("%d",&n);p = facto (n);printf ("%d!=%d\n", n, p);}facto ( int n ){ int r;if (n==0)...原创 2011-10-24 17:22:40 · 1191 阅读 · 0 评论 -
数值型递归问题的求解方法
编写递归程序的难度较大,在掌握递归的基本概念和递归程序的执行过程之后,还应掌握编写递归程序的基本方法。编写递归程序的前提有两点。一要找出正确的递归算法,这是编写递归程序的基础;二要确定算法的递归结束条件,这是决定递归程序能否正常结束的关键。我们可以将计算机所求解的问题分为两大类:数值问题和非数值问题。两类问题具有不同的性质,所以解决问题的方法也是不同的。对于数值问题编写递归程序的一般方法是:...原创 2011-10-24 17:23:23 · 693 阅读 · 0 评论 -
非数值型递归问题的求解方法
对于非数值问题编写递归程序的一般方法是:确定问题的最小模型并使用非递归算法解决,分解原来的非数值问题建立递归模型,确定递归模型的终止条件,将递归模型转换为递归程序。 由于非数值型问题本身难于用数学公式表达。求解非数值问题的一般方法是要设计一种算法,找到解决问题的一系列操作步骤。如果能够找到解决问题的一系列递归的操作步骤,同样可以用递归的方法解决这些非数值问题。寻找非数值问题的递归算...原创 2011-10-24 17:24:03 · 526 阅读 · 0 评论