迭代和循环有什么区别

Shui刺猬 2020-01-05 01:59:50
这是我自己敲得一个“1+2+3+……n”的代码,用了“for循环”,我想知道这是迭代吗,请各位赐教。
...全文
943 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Shui刺猬 2020-01-05
  • 打赏
  • 举报
回复
引用 12 楼 寻开心的回复:
你看看c语言的目录
for, while, do--while, if else, switch case 这些都叫什么, 叫做控制语句
这些都不是算法

算法必须是有输入,有输出,按照一定的规则把输出的数据转换成输出的结果。
这套转换的过程是算法

穷举是算法, 是从一堆当中挑选出来一个或者多个做为结果,有一个挑选的决策
循环没有决策啊
奥~,我懂了!这次我彻底明白了,谢谢你比心
寻开心 2020-01-05
  • 打赏
  • 举报
回复
你看看c语言的目录
for, while, do--while, if else, switch case 这些都叫什么, 叫做控制语句
这些都不是算法

算法必须是有输入,有输出,按照一定的规则把输出的数据转换成输出的结果。
这套转换的过程是算法

穷举是算法, 是从一堆当中挑选出来一个或者多个做为结果,有一个挑选的决策
循环没有决策啊
Shui刺猬 2020-01-05
  • 打赏
  • 举报
回复
只能大概理解,迭代、递归和贪心是算法,而循环是实现这些算法的过程,是吗
Shui刺猬 2020-01-05
  • 打赏
  • 举报
回复
引用 8 楼 寻开心的回复:
算啊。 对于你的结果H就是属于迭代的值, 循环是迭代的控制过程, 加法是迭代的算法
好的,我大概懂了,谢谢你呀
寻开心 2020-01-05
  • 打赏
  • 举报
回复
循环不是算法, 循环是控制过程,
迭代是一种算法
寻开心 2020-01-05
  • 打赏
  • 举报
回复
算啊。 对于你的结果H就是属于迭代的值, 循环是迭代的控制过程, 加法是迭代的算法
Shui刺猬 2020-01-05
  • 打赏
  • 举报
回复
引用 4 楼 寻开心的回复:
迭代,是指让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值

这个过程当中, 旧值和新的值可以不连续, 可以不是顺序的,只要满足一下三个条件的都算是迭代
1 有个初始的值
2 有一套算法,对这个初始值操作, 并计算出新的值
3 新的值还可以再次调用刚才的算法,再产生新的值,这个过程是可控的

循环可以认为是迭代的一种,递归也是
那请问我上面的代码应该属于迭代吧?
Shui刺猬 2020-01-05
  • 打赏
  • 举报
回复
引用 1 楼 Italink的回复:
老实说,我也不清楚迭代和循环的具体界线是什么,下面找到的,你看看 迭代、循环和遍历的区别 循环(loop) - 最基础的概念, 所有重复的行为 递归(recursion) - 在函数内调用自身, 将复杂情况逐步转化成基本情况 (数学)迭代(iterate) - 在多次循环中逐步接近结果 (编程)迭代(iterate) - 按顺序访问线性结构中的每一项 遍历(traversal) - 按规则访问非线性结构中的每一项 ———————————————— 版权声明:本文为CSDN博主「_STH」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u013088059/article/details/73650914
好的,谢谢你啦!我这就看
Shui刺猬 2020-01-05
  • 打赏
  • 举报
回复
😂😂,谢谢哦,那迭代是什么呢
寻开心 2020-01-05
  • 打赏
  • 举报
回复
迭代,是指让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值

这个过程当中, 旧值和新的值可以不连续, 可以不是顺序的,只要满足一下三个条件的都算是迭代
1 有个初始的值
2 有一套算法,对这个初始值操作, 并计算出新的值
3 新的值还可以再次调用刚才的算法,再产生新的值,这个过程是可控的

循环可以认为是迭代的一种,递归也是

寻开心 2020-01-05
  • 打赏
  • 举报
回复
哦,不对,这个叫递归
寻开心 2020-01-05
  • 打赏
  • 举报
回复
int diedai (int n) {
if ( n== 1) return 1;
return n + diedai(n-1);
}

int main() {
int n= 10;
int v = diedai(n);
}

这个是迭代
Italink 2020-01-05
  • 打赏
  • 举报
回复
老实说,我也不清楚迭代和循环的具体界线是什么,下面找到的,你看看 迭代、循环和遍历的区别 循环(loop) - 最基础的概念, 所有重复的行为 递归(recursion) - 在函数内调用自身, 将复杂情况逐步转化成基本情况 (数学)迭代(iterate) - 在多次循环中逐步接近结果 (编程)迭代(iterate) - 按顺序访问线性结构中的每一项 遍历(traversal) - 按规则访问非线性结构中的每一项 ———————————————— 版权声明:本文为CSDN博主「_STH」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u013088059/article/details/73650914

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧