x****6 发帖数: 4339 | |
S******t 发帖数: 378 | 2 递归: 一段代码不停地运行自己
迭代: 一段代码不停地运行别人 |
y*j 发帖数: 3139 | |
B********n 发帖数: 2062 | 4 开车的前进挡和倒车档的区别
【在 x****6 的大作中提到】 : RT
|
e****w 发帖数: 1565 | 5 所有的迭代我都能写成递归形式
我有至少一年科班fp津液lol |
x****6 发帖数: 4339 | 6 用jargon还解释个毛啊,
不及格,打回去重写
【在 y*j 的大作中提到】 : FIFO 和 LIFO 的区别。
|
b*******8 发帖数: 37364 | |
d*****u 发帖数: 17243 | 8 递归是从一个base case开始,不断迭代到指定输入的情形,迭代函数是单一的。 |
y*j 发帖数: 3139 | 9 这就是最标准最准确的解答,它们的区别就是在于一个是先进先出(队列),一个是后
进先出(堆栈)。
: 用jargon还解释个毛啊,
: 不及格,打回去重写
【在 x****6 的大作中提到】 : 用jargon还解释个毛啊, : 不及格,打回去重写
|
b*******8 发帖数: 37364 | 10 递归有固定终点,到了终点后就不能再往下递归了,要逐层退回
迭代没有固定终点,达到目标精度即可,也不用逐层退回。类似一个带跳出的循环 |
|
|
e****w 发帖数: 1565 | 11 精度目标不能是递归的base case 吗
plus
尾调用优化照样直接返回调用地址lol
: 递归有固定终点,到了终点后就不能再往下递归了,要逐层退回
: 迭代没有固定终点,达到目标精度即可,也不用逐层退回。类似一个带跳
出的循环
【在 b*******8 的大作中提到】 : 递归有固定终点,到了终点后就不能再往下递归了,要逐层退回 : 迭代没有固定终点,达到目标精度即可,也不用逐层退回。类似一个带跳出的循环
|
y*j 发帖数: 3139 | 12 以前看到一个人用尾调用,简直就是吃饱撑得。
: 精度目标不能是递归的base case 吗
: plus
: 尾调用优化照样直接返回调用地址lol
: 出的循环
【在 e****w 的大作中提到】 : 精度目标不能是递归的base case 吗 : plus : 尾调用优化照样直接返回调用地址lol : : : 递归有固定终点,到了终点后就不能再往下递归了,要逐层退回 : : 迭代没有固定终点,达到目标精度即可,也不用逐层退回。类似一个带跳 : 出的循环 :
|
e****w 发帖数: 1565 | 13 所有循环都能写成 递归形式
并且是尾调用的
有什么稀奇的
尾调用比你想的有用多了
比如说state machine 完全就可以利用尾调用
代码清晰 但不会影响效率
【在 y*j 的大作中提到】 : 以前看到一个人用尾调用,简直就是吃饱撑得。 : : : 精度目标不能是递归的base case 吗 : : plus : : 尾调用优化照样直接返回调用地址lol : : 出的循环 :
|
F*****t 发帖数: 3219 | 14 核心都是插进去、摩擦G点!
【在 b*******8 的大作中提到】 : 抓奶背操还是压奶前操的区别
|
b*******8 发帖数: 37364 | 15 可以是,但一般就不写递归了。尾递归很多容易改写成循环。
【在 e****w 的大作中提到】 : 精度目标不能是递归的base case 吗 : plus : 尾调用优化照样直接返回调用地址lol : : : 递归有固定终点,到了终点后就不能再往下递归了,要逐层退回 : : 迭代没有固定终点,达到目标精度即可,也不用逐层退回。类似一个带跳 : 出的循环 :
|
z****n 发帖数: 3189 | 16 迭代类似于转世投胎.
递归是老不死,每一辈子都是这个人.
【在 x****6 的大作中提到】 : RT
|
m***a 发帖数: 2262 | 17
在递归里,函数体内要调用到本函数
以下是递归
他看见他打手枪
他看见他看见他打手枪
他看见他看见他看见他打手枪
他看见他看见他看见他看见他打手枪
……
“他看见他打手枪”是stop case,因为在这里,“看见”这个函数体内已经不调用这
个函数本身了,从这里可以往回推,最终推出最顶层的他看见了什么
以下是迭代
他看见他打手枪
他看见他打手枪
他看见他打手枪
他看见他打手枪
……
没有那么复杂,就是看见了若干次而已
【在 x****6 的大作中提到】 : RT
|
b*w 发帖数: 14917 | 18 迭代是数学概念吧,找最优解往往用迭代方法;递归是编程概念,自己调用自己 |
x****6 发帖数: 4339 | 19 这个解释太离谱了
【在 B********n 的大作中提到】 : 开车的前进挡和倒车档的区别
|
x****6 发帖数: 4339 | 20 反过来可以吗?
用递归来写所有迭代
【在 e****w 的大作中提到】 : 所有的迭代我都能写成递归形式 : 我有至少一年科班fp津液lol
|
|
|
m**********e 发帖数: 12525 | 21 迭代:吃饭拉屎
递归:吃自己拉的屎再拉屎
【在 x****6 的大作中提到】 : RT
|
m*****n 发帖数: 4015 | 22 迭代是摘个桃子吃一个桃子。最后吃饱为止。
递归是拿个桶把所有桃子都摘了。然后慢慢吃。 |
v***a 发帖数: 903 | 23 你说反了么
【在 m**********e 的大作中提到】 : 迭代:吃饭拉屎 : 递归:吃自己拉的屎再拉屎
|
m*****n 发帖数: 4015 | 24 其实最大的差别就就是对stack 的运用。不需要想太复杂。 |
e****w 发帖数: 1565 | 25 属实
不过递归有时候可以是数学上的概念
比如数学归纳法证明
: 迭代是数学概念吧,找最优解往往用迭代方法;递归是编程概念,自己调用自己
【在 b*w 的大作中提到】 : 迭代是数学概念吧,找最优解往往用迭代方法;递归是编程概念,自己调用自己
|
b*w 发帖数: 14917 | 26 对,递归和迭代就是两个概念
: 属实
: 不过递归有时候可以是数学上的概念
: 比如数学归纳法证明
【在 e****w 的大作中提到】 : 属实 : 不过递归有时候可以是数学上的概念 : 比如数学归纳法证明 : : : 迭代是数学概念吧,找最优解往往用迭代方法;递归是编程概念,自己调用自己 :
|
l******t 发帖数: 55733 | 27 递归就是个Ycombinator。迭代没有数学概念就是个数学方法 |
m*****n 发帖数: 4015 | 28 你又吹牛了。 一个无限循环的IIR 滤波器 反复迭代处理接收到的信号。 你给我写个
递归函数实现一下试试看。
[在 eschew (echo) 的大作中提到:]
:所有循环都能写成 递归形式
:并且是尾调用的
:有什么稀奇的
:尾调用比你想的有用多了
:比如说state machine 完全就可以利用尾调用
:代码清晰 但不会影响效率 |
e****w 发帖数: 1565 | 29 f (last) = if (predict(last)) then return last else return f ( calc(last) )
predict(last) always false
【在 m*****n 的大作中提到】 : 你又吹牛了。 一个无限循环的IIR 滤波器 反复迭代处理接收到的信号。 你给我写个 : 递归函数实现一下试试看。 : [在 eschew (echo) 的大作中提到:] : :所有循环都能写成 递归形式 : :并且是尾调用的 : :有什么稀奇的 : :尾调用比你想的有用多了 : :比如说state machine 完全就可以利用尾调用 : :代码清晰 但不会影响效率
|
e****w 发帖数: 1565 | 30 你是什么不会,是不会怎么无限递归?
lol
【在 m*****n 的大作中提到】 : 你又吹牛了。 一个无限循环的IIR 滤波器 反复迭代处理接收到的信号。 你给我写个 : 递归函数实现一下试试看。 : [在 eschew (echo) 的大作中提到:] : :所有循环都能写成 递归形式 : :并且是尾调用的 : :有什么稀奇的 : :尾调用比你想的有用多了 : :比如说state machine 完全就可以利用尾调用 : :代码清晰 但不会影响效率
|
|
|
m*****n 发帖数: 4015 | 31 什么乱七八糟的。你不会连题目都看不懂吧。 要不要我先给你讲讲什么是IIR.
[在 eschew (echo) 的大作中提到:]
:f (last) = if (predict(last)) then return last else return f ( calc(last) )
:predict(last) always false |
c****x 发帖数: 6601 | 32 看栈有没有勃起
【在 x****6 的大作中提到】 : RT
|
e****w 发帖数: 1565 | 33 我干嘛要知道iir
lol
老子告诉你的是 迭代到递归的一般写法
你自己套不来关我屁事
学ee的连基本抽象都不会嘛lol
)
【在 m*****n 的大作中提到】 : 什么乱七八糟的。你不会连题目都看不懂吧。 要不要我先给你讲讲什么是IIR. : [在 eschew (echo) 的大作中提到:] : :f (last) = if (predict(last)) then return last else return f ( calc(last) ) : :predict(last) always false
|
c*********e 发帖数: 16335 | 34 迭代是将输出做为输入,再次进行处理。
for (int i=0; i < 100; i++) n = f(n);
递归,简讲就是自己调用自己,自己包含自己。
void f(int n){f(n - 1);}
【在 x****6 的大作中提到】 : RT
|
l******t 发帖数: 55733 | 35 迭代引入辅助函数适当包扎后即可递归
【在 c*********e 的大作中提到】 : 迭代是将输出做为输入,再次进行处理。 : for (int i=0; i < 100; i++) n = f(n); : 递归,简讲就是自己调用自己,自己包含自己。 : void f(int n){f(n - 1);}
|
e****w 发帖数: 1565 | 36 lol
我发现ee某些索南连基本的抽象都不会
【在 l******t 的大作中提到】 : 迭代引入辅助函数适当包扎后即可递归
|