递归与循环的区别和联系.pdfVIP

  • 7
  • 0
  • 约1.27千字
  • 约 2页
  • 2023-12-19 发布于中国
  • 举报

递归与循环的区别和联系

(⼀)概述:

根据⾯向对象程序设计的思想,对象包括属性(数据)和⽅法(操作)。其实,递归和循环就相当于两种⾮常相似的操作,但是它们都有适

合⾃⼰操作的数据。可以把⼀个问题看作⼀个对象,问题由数据(问题没有解决时的状态或数据结构)和操作(把问题解决)组成。根据不

同的数据(数据结构——问题结构),选择相应的操作,才是合适的选择!

(⼆)相同点:

(1.递归和循环的本质都是代码复⽤。

(2.递归和循环在理论上具有相同的计算能⼒(在可计算性理论中,这两种计算模型所计算的函数类是相同的)。

(3.递归是⼀种特殊的循环。

(三)不同点:

1.程序独⽴性

递归由程序和系统共同完成。递归需要系统维护⼀个系统⼯作栈。

循环由程序单独完成。但是,循环需要程序设定好循环条件。

2.程序规模

递归的规模很⼩,受到系统⼯作栈⼤⼩的限制。

循环的规模很⼤,⼏乎不会受到限制。

在VS2012中计算1+2+3+······+n

使⽤递归n只能达到4710.

使⽤循环n可以达到2000000000.

3.复⽤单位

递归的复⽤单位是函数。

循环的复⽤单位是语句(for循环语句或while循环语句)。

4.解题⽅向

递归往往是⾃顶向下(1——n),将问题的规模逐步缩⼩,直到

文档评论(0)

1亿VIP精品文档

相关文档