共有回帖数 0 个
-
内容 1.什么叫递归
2.递归和循环的区别
3.什么时候可以用递归
4. 汉诺塔的一般思考
想到再补充。。。。。
1.提到这问题 我就生气。。。老师和教科书说的真是个屁 什么函数自己调用自己。。。。
下面我来说说我的看法 : CPU是一个机器 让它干什么它就干什么?例如你让它吃饭 它就吃饭 你让它吃完饭后睡觉 它就睡觉 ;例如 你让它(假设CPU是个男的)进女厕所 它绝对不会犹豫 不会反驳你 他立马进女厕所
关于调用函数怎么调用 ,被调用函数怎么返回调用函数的步骤我就不说了:递归 无非就是 在一个调用函数中 再放一个调用函数 (只不过这函数是它自己)那对于CPU 而言 我管你是什么, 只要是老子 看的懂的 就顺着走 ,老子就一个调一个一个调一个 ,调到老子没法调(也就是最后一个函数)老子就返回。。。。。
2.递归 和 循环的区别 提到这问题我真想把书给撕了,全它妈狗屎。。。。我先说几个老师和书上说的东西:循环都可以用递归来解决。。但递归可以解决的问题循环不可以解决。。大家不觉得这是废话吗?
我来说下他们的区别:什么叫循环:没一步操作 是固定的 并且干完这步后才能干下一步:例如我要求1-100的和 那么我用循环的换 第一步 1+2 第二步就是 1+2+3 第三步就是 1+2+3+4 也就是说每 一次循环都离你要解决的问题跟进一步。。。。。。
递回(英语:recursion)在电脑科学中是指一种通过重复将问题分解为同类的子问题而解决问题 的方法。…绝大多数程式语言支援函式的自呼叫,在这些语言中函式可以通过呼叫自身来进行递回。 围激摆棵
什么叫递归:递归每一步 就是不固定的了, 还是 1+100的和 递归实现就是 :你不是要哥求1-100的和吗?好 我先求(前99的和) 一看算不出 那哥再算 (前98的和)还不行 哥算前97的和。。。。。一直到最后哥发现只要知道1 再来个釜底抽薪 就能算出来了。。。也就是说如果要用递归算前100的和,要3步 1.2.3. 我每一步之间可以有联系 。。。 就是说要执行第一步可能需要第2步先解决 解决 第二步可能需要第三步来解决。。。。
第3个问题。。。这是我思考很久,**了很多题目和高手的经验得出的结论。。。1.假设你解决一个问题需要3步 1. 2. 3 . 只要这个题目满足以下两个条件就可以用递归 1.第1.2.3.步的算法必须相同 2.这题目的工程量(而不是N的值越来越少)必须越来越少 3.程序必须要有一个出口
楼主 2015-11-05 13:13 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知