A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李竞还活着 中级黑马   /  2015-6-5 00:32  /  1142 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李竞还活着 于 2015-6-11 00:19 编辑

昨天看视频说循环一共有四类:for循环,while循环,do...while循环,以及不推荐使用的goto和if搭配使用的循环。
今天学习定义函数的时候学习到递归函数问题,我想问一下问什么递归函数不属于循环?我怎么就感觉它属于呢?

7 个回复

倒序浏览
我觉得可能只是一层层的嵌套,所以不归为循环吧
回复 使用道具 举报
递归 是迭代 不是循环
回复 使用道具 举报
晗修 发表于 2015-6-5 00:38
递归 是迭代 不是循环

能具体说一下他们的本质区别么?这个名词我也注意到了,但是还是分不出他们的区别,谢谢,共同努力
回复 使用道具 举报
视频说的循环指的语法上怎么写,怎么实现。递归是循环的一种,它通过不停调用自身直到遇到终止条件实现循环的。关于迭代,递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换.能用迭代的不用递归,递归调用函数,浪费空间,并且递归太深容易造成堆栈的溢出.递归和迭代都是循环的一种。简单地说,递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环。
回复 使用道具 举报
yuang4074 发表于 2015-6-5 12:24
视频说的循环指的语法上怎么写,怎么实现。递归是循环的一种,它通过不停调用自身直到遇到终止条件实现循环 ...

好深奥,但是感觉很有道理。不过我又冒出来一个问题:像循环里的i++;sum+=i;之类的算不算迭代?我看也是累计
回复 使用道具 举报
李竞还活着 发表于 2015-6-5 18:13
好深奥,但是感觉很有道理。不过我又冒出来一个问题:像循环里的i++;sum+=i;之类的算不算迭代?我看也 ...

算,两种说法。。。
回复 使用道具 举报 1 0
一个是语法上的循环
递归是原理上产生的循环  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马