递归&迭代

来源:互联网 发布:txt转mobi for mac 编辑:程序博客网 时间:2024/05/16 10:10
  1. 递归是重复调用自身,迭代是重复调用过程。
  2. 递归与迭代都是基于控制结构:迭代用重复结构,而递归用选择结构。
  3. 递归与迭代都涉及重复:迭代显式使用重复结构,而递归通过重复函数调用实现重复。
  4. 递归与迭代都涉及终止测试:迭代在循环条件失败时终止,递归在遇到基本情况时终止。
  5. 使用计数器控制重复的迭代和递归都逐渐到达终止点:迭代一直修改计数器,直到计数器值使循环条件失败;递归不断产生最初问题的简化副本,直到达到基本情况。
  6. 迭代和递归过程都可以无限进行:如果循环条件测试永远不变成false,则迭代发生无限循环;如果递归永远无法回推到基本情况,则发生无穷递归。
  7. 递归函数是通过调用函数自身来完成任务,而且在每次调用自身时减少任务量。而迭代是循环的一种形式,这种循环不是由用户输入而控制,每次迭代步骤都必须将剩余的任务减少;也就是说,循环的每一步都必须执行一个有限的过程,并留下较少的步骤。
  8. 递归中一定有迭代,迭代中不一定有递归。递归是迭代的特例,迭代是变化循环的一种。
http://zhidao.baidu.com/link?url=Jd6rqcPLKPI4hr8Otj2Hc7e1MZkRKKoE1H0OWFYL7IQTSIHdq8224p8JtRzV79ZmtA4Q-8e_fBuScjyNhQrkr3BvdIdYfk-4pRJz4XSm1Ky
0 0