迭代和递推算法有什么区别啊? 50

数据结构C/C++版,不要说java... 数据结构C/C++版,不要说java 展开
 我来答
乀柠檬最萌
推荐于2018-04-22 · TA获得超过1.6万个赞
知道大有可为答主
回答量:4550
采纳率:95%
帮助的人:489万
展开全部
  递推:Un=Un-1*2
  迭代:y=x*2;x=y;
  如果就这两个式子来编程的话,递推会用到递归函数或生成一个长为n数组,但如果是迭代,就只会用到一个while或for循环,而且只用2个变量,程序的效率比递推法要高。应该是因为迭代法是在递推法的基础上再进一步的分析,以得到便于编程解决的式子。
  迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。
  利用迭代算法解决问题,需要做好以下三个方面的工作:
  一、确定迭代变量。在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
  二、建立迭代关系式。所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。
  三、对迭代过程进行控制。在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地重复执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LW194
2014-06-18 · 超过81用户采纳过TA的回答
知道答主
回答量:143
采纳率:0%
帮助的人:177万
展开全部
递归与迭代都是基于控制结构:迭代用重复结构,而递归用选择结构。
递归与迭代都涉及重复:迭代显式使用重复结构,而递归通过重复函数调用实现重复。
递归与迭代都涉及终止测试:迭代在循环条件失败时终止,递归在遇到基本情况时终止。
使用计数器控制重复的迭代和递归都逐渐到达终止点:迭代一直修改计数器,直到计数器值使循环条件失败;递归不断产生最初问题的简化副本,直到达到基本情况。迭代和递归过程都可以无限进行:如果循环条件测试永远不变成false,则迭代发生无限循环;如果递归永远无法回推到基本情况,则发生无穷递归。
递归函数是通过调用函数自身来完成任务,而且在每次调用自身时减少任务量。而迭代是循环的一种形式,这种循环不是由用户输入而控制,每次迭代步骤都必须将剩余的任务减少;也就是说,循环的每一步都必须执行一个有限的过程,并留下较少的步骤。
追问
我说的是递推!!!!!!不是递归!!
我说的是递推!!!!!!不是递归!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式