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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张晓珊 中级黑马   /  2015-5-26 20:59  /  1914 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

迭代和递归是每个同学刚接触程序都会学到的两个算法,这两个算法都是利用了循环调用的原理将复杂运算简单化,那么它们两个之间到底有什么区别呢?分别适用于什么情况下呢?

13 个回复

倒序浏览
递归就是自己调用自己,迭代嘛!就是A不停的调用B
递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换.能用迭代的不用递归,递归调用函数,浪费空间,并且递归太深容易造成堆栈的溢出.
回复 使用道具 举报 2 0
学习啦,大家讲解的很好啊
回复 使用道具 举报
始终不太明白递归函数,已经问了好多人了.
回复 使用道具 举报
Dariel 发表于 2015-5-26 21:12
递归就是自己调用自己,迭代嘛!就是A不停的调用B
递归中一定有迭代,但是迭代中不一定有递归,大部分可以相 ...

受教啦!!!
回复 使用道具 举报
递归就是找一个1,再找一个--,条件能让它自己递归到1...自己的理解
回复 使用道具 举报
mnxnm 中级黑马 2015-5-30 11:42:53
7#
这样子啊
回复 使用道具 举报
任伟 中级黑马 2015-5-30 16:03:17
8#
递归是自顶向下逐步拓展需求,最后自下向顶运算.即由f(n)拓展到f(1),再由f(1)逐步算回f(n)
迭代是直接自下向顶运算,由f(1)算到f(n).
回复 使用道具 举报
任伟 发表于 2015-5-30 16:03
递归是自顶向下逐步拓展需求,最后自下向顶运算.即由f(n)拓展到f(1),再由f(1)逐步算回f(n)
迭代是直接自下向 ...

谢谢总结
回复 使用道具 举报
围观学习啦,加油!
回复 使用道具 举报
我也想问问,递归那玩意能做到的,是不是for循环也能做到呢?递归看着就乱乱的.一层调一层,内存占的还多.
回复 使用道具 举报
围观同学 加油  你报的是哪期的啊
回复 使用道具 举报
套路有点深啊
我对递归的理解还仅仅是数学归纳法
回复 使用道具 举报
一楼评论不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马