迭代和递归之间的区别的真实示例是什么? 我真的无法很好地想象迭代和递归。


回答 1:

好的,这是我的尝试。 这里的设置是:您有一大堆干净的衣物。 您要折叠它们并将它们放回壁橱。

迭代法

您开始遍历堆。 您一次要穿一件衣服,将其折叠并放在壁橱中。

递归方法

首先,根据衣服的类型(衬衫,袜子,裤子..)将大堆分成小堆。 然后,您将这些较小的堆叠起来,并折叠其中的每件衣服。 现在,根据衣服的类型,您会得到较小的折叠绒头。 您穿过每堆并将衣服放到壁橱里。


回答 2:

首先,让我定义两个术语。 迭代是一次又一次地执行某个活动(一组语句)的过程,而递归是一个过程,其中函数一次又一次地调用自身直到满足某个条件为止。 在执行递归时,该函数可以传递相同的值或不同的值。 这取决于问题。 在某些问题上,两者都会产生相同的结果。

现在,来看看现实生活中的例子。 考虑一下自己早上睡到上午10点。您的妈妈来叫醒您。 她打给你。 但是你不会醒来。 然后她继续不停地打给你,直到你醒来。 但是每次她的声音强度不断增加。 在这里,RECURSION发挥了作用。 直到满足特定条件(您的唤醒状态)为止,重复一次操作(您的妈妈反复唤醒您),但每次操作的值都不同(语音强度级别提高)。 这是一个现实的例子。

考虑另一种情况,您的妈妈随便给您喂一些菜,例如空转,dosa或披萨。 她会一直这样做,直到您能够自己吃东西为止(除:p以外)。 这里发生ITERATION。 直到满足特定条件(您自己拥有食物的能力)之前,都将执行相同的操作(您的妈妈为您提供您喜欢的菜肴)。

这些是一些真实的例子。 希望能帮助到你 :)


回答 3:

首先,让我定义两个术语。 迭代是一次又一次地执行某个活动(一组语句)的过程,而递归是一个过程,其中函数一次又一次地调用自身直到满足某个条件为止。 在执行递归时,该函数可以传递相同的值或不同的值。 这取决于问题。 在某些问题上,两者都会产生相同的结果。

现在,来看看现实生活中的例子。 考虑一下自己早上睡到上午10点。您的妈妈来叫醒您。 她打给你。 但是你不会醒来。 然后她继续不停地打给你,直到你醒来。 但是每次她的声音强度不断增加。 在这里,RECURSION发挥了作用。 直到满足特定条件(您的唤醒状态)为止,重复一次操作(您的妈妈反复唤醒您),但每次操作的值都不同(语音强度级别提高)。 这是一个现实的例子。

考虑另一种情况,您的妈妈随便给您喂一些菜,例如空转,dosa或披萨。 她会一直这样做,直到您能够自己吃东西为止(除:p以外)。 这里发生ITERATION。 直到满足特定条件(您自己拥有食物的能力)之前,都将执行相同的操作(您的妈妈为您提供您喜欢的菜肴)。

这些是一些真实的例子。 希望能帮助到你 :)