JAVA怎样理解递归( 三 )
//迭代调用int func1(int n){ int result=1; for(int i=1;i\u0026lt;=n;i++){ result*=i; } return result;}//递归调用int func2(int n){ if(x==1){ return 1; } else { return n*(n-1); }}
现在你要在一堆乱糟糟的盒子(原始数据,注意盒子里面还有盒子就像套娃一样)中找出钥匙(shi),说白了迭代调用就是逐个把找出的盒子放在一起(这时候盒子里面的盒子已经被取出来了),然后返回循环的首地址处(迭代通常是通过循环实现的),这时候盒子的最深层次由于你已经取出了一些盒子已经被降低了,接着循环直到找到钥匙(shi);而递归调用则是逐个的对每一个套盒子抽取并检查(像洋葱一样一层一层的剥开直到最后一层),如果这个盒子包括盒子里面的所有盒子都没有钥匙(shi),就开始检查第二个(下一个)盒子,知道找到钥匙(shi)。结束。
简而言之,迭代和递归的区别就是:递归每次只检查一个盒子,而迭代则是每次检查一套盒子!
■网友
【JAVA怎样理解递归】 方法本身调用方法本身
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 怎样评价类似前橙会、百老汇、南极圈这样类型的离职帮抱团,对企业的积极意义和消极意义
