注册|登录

联系电话:024-31891684  13390130939
沈阳软件公司--沈阳软件定制

沈阳软件开发_沈阳软件公司_沈阳软件定制/软件/最新技术

Latest technology最新技术

递归算法

浏览量:2630

在起始条件已知的情况下,解决一类重复性问题的最佳方案莫过于使用程序设计的三大基本结构之一的“循环”结构(分为“有限次”和“无限次”循环两种情况)。然而现实生活中也存在这样一类问题——起始条件不明确,但结尾却已知;或者问题自身嵌套着自身。在这种情况下我们将采用反向思维,从结尾条件开始往前推演,直到把起始条件推算出为止。这样的一种算法往往被成为“递归”法。本章节将主要对此算法进行一系列的探究。

 

一、递归法的定义和数学模型:

递归法在数学上的表达函数有点特殊,它是一种自调用函数,形式如下:

 

从定义式可以看出递归函数的最大特征在于自身的输出作为自身的输入,直至输入为某一个条件而终止。

下面就结合实践,具体阐述并验证这一理论。

 

【例1】有甲、乙、丙、丁四人,从甲开始到丁,一个比一个大1岁,已知丁10岁,问甲几岁?

【分析】这是递归法的一道非常典型的题目——因为我们可以很显然知道:假设要计算甲的年龄,那么必须直到乙的年龄;同样,算乙的必须直到丙的,算丙的必须知道丁的,因为丁已知,自然可以往前推算了。现在假设有一个数学模型(函数)可以计算出他们各自的年龄(方便期间我们给他们编号——甲=1,乙=2,丙=3,丁=4),那么存在这一个F(X)函数,X表示某人的编号,其规律如下:

F(1)=F(2)+1

F(2)=F(3)+1

F(3)=F(4)+1

F(4)=10

显然,直到X=4

沈阳团购网|营口网站制作|沈阳软件公司|软件定制|网站建设|加盟易势|提交问题