递归是什么,第1张

递归作为一种算法在编程语言中被广泛使用。进程或函数在其定义或描述中有一种直接或间接调用自身的方法。递归策略只需要少量程序来描述解题过程中需要的重复计算,大大减少了程序的代码量。

程序调用本身的编程技巧叫做递归。递归作为一种算法在编程语言中被广泛使用。进程或函数在其定义或描述中有一种直接或间接调用自身的方法。通常是将一个大而复杂的问题逐层转化为类似原问题的小问题来解决。递归策略可以用很少的程序描述解题过程所需的重复计算,大大减少了程序的代码量。递归的能力在于用有限的语句定义一组无限的对象。一般来说,递归需要边界条件、递归前向段和递归返回段。当边界条件不满足时,递归推进;当边界条件满足时,递归返回。

递归是什么,递归是什么,第2张

递归定义

递归就是在运行的过程中调用自己。

形成递归的条件:

1.子问题必须和原问题一样,更简单;

2.您不能无限期地调用自身,但您必须有一个出口,这被简化为非递归条件处理。

在数学和计算机科学中,递归是指由一个(或多个)简单的基本条件定义的一类对象或方法,并规定所有其他条件都可以恢复到它们的基本条件。

例如,以下是祖先的递归定义:

一个人的父母就是他的祖先。祖先的父母也是祖先(递归步骤)。斐波那契序列,也称为黄金分割序列,指的是这样一个序列:1,1,2,3,5,8,13,21 & # 8230;..我

斐波那契序列是典型的递归情况:

递归关系是实体与自身建立关系。

Fib(0)= 1[基本情况]Fib(1)= 1[基本情况]对于所有n >:1:Fib(n)=(Fib(n-1)+Fib(n-2))[递归定义]虽然许多数学函数可以递归表示,但在实际应用中,递归定义的高开销往往令人望而却步。例如:

阶乘(1)= 1[基本情况]对于所有n >:1的整数:阶乘(n) = (n *阶乘(n-1))[递归定义]一个容易理解的心理学模型是递归定义根据“以前定义的”同类对象来定义对象。比如:你怎么能搬100个箱子?回答:你先移动一个盒子,写下它移动的位置,然后解决更小的问题:99个盒子怎么移动?最终你的问题会变成怎么搬箱子,然后你就已经知道该怎么做了。

这样的定义在数学中很常见。比如集合论中自然数的形式定义是:1是自然数,每个自然数都有一个继承者,这个继承者也是自然数。

德罗斯特效应是递归的一种视觉形式。图中一个女人拿着的物体中,有一张她自己拿着同一个物体的小图,然后有一张她拿着小图中同一个物体的小图,以此类推。

比如我们把一根燃烧的蜡烛放在两个相对的镜子之间,我们会看到其中一面镜子里有一根蜡烛,蜡烛后面有一面镜子,镜子里有一根蜡烛……这也是递归的一种表现。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 递归是什么

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情