族谱网 头条 人物百科

迭代

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:621
转发:0
评论:0
在数学中一个五边形的迭代。将对角用直线段连起来得到一个五角星,后者中心围成了一个倒过来的小五边形。迭代地执行这一过程会产生一系列嵌套的五边形和五角星。数学中的迭代可以指函数迭代的过程,即反复地运用同一函数计算,前一次迭代得到的结果被用于作为下一次迭代的输入。即使是看上去很简单的函数,在经过迭代之后也可能产生复杂的行为,衍生出具有难度的问题。这样的例子可以参见考拉兹猜想和杂耍者序列(Jugglersequence)。又如一个简单的二次变换x→x(1-x),它的迭代将形成一个具有混沌性质的动力系统。迭代在数学中的另一应用是迭代法,用来对特定数学问题作数值解估计。牛顿法就是迭代法的一个例子。在计算机中在计算机科学中,迭代是程序中对一组指令(或一定步骤)的重复。它既可以被用作通用的术语(与“重复”同义),也可以用来描述一种特定形式的具有可变状态的重复。在第一种意义下,递归是迭代的一个例子,但是通常...

在数学中

迭代

一个五边形的迭代。将对角用直线段连起来得到一个五角星,后者中心围成了一个倒过来的小五边形。迭代地执行这一过程会产生一系列嵌套的五边形和五角星。

数学中的迭代可以指函数迭代的过程,即反复地运用同一函数计算,前一次迭代得到的结果被用于作为下一次迭代的输入。即使是看上去很简单的函数,在经过迭代之后也可能产生复杂的行为,衍生出具有难度的问题。这样的例子可以参见考拉兹猜想和杂耍者序列(Juggler sequence)。又如一个简单的二次变换x→x(1-x),它的迭代将形成一个具有混沌性质的动力系统。

迭代在数学中的另一应用是迭代法,用来对特定数学问题作数值解估计。牛顿法就是迭代法的一个例子。

在计算机中

在计算机科学中,迭代是程序中对一组指令(或一定步骤)的重复。它既可以被用作通用的术语(与“重复”同义),也可以用来描述一种特定形式的具有可变状态的重复。

在第一种意义下,递归是迭代的一个例子,但是通常使用一种递归式的表达。比如用0!=1,n!=n*(n-1)!来表示阶乘。而迭代通常不是这样写的。

而在第二种(更严格的)意义下,迭代描述了在指令式编程语言中使用的编程风格。与之形成对比的是递归,它更偏向于声明式的风格。

这里是一个依赖于破坏性赋值的迭代的例子,以指令式的虚拟码写成:

在这个程序片段中,变量i的值会不断改变,依次取值1、2和3。这种改变赋值——或者叫做可变状态——是迭代的特征。 这里是二分法解方程的递归和迭代算法的比较。 递归:

确定开区间左边界和右边界,(L,R)若L+1>=R(即不包含整数点),表示序列中不存在f(x)取中位M=(L+R)/2若f(M)==y,返回M否则根据f(M)和y的关系递归查找(L,M)或(M,R)

迭代:

确定边界(L,R)while(L+1<R)/*区间中包含整点*/求中位M=(L+R)/2若f(M)等于y,退出循环根据f(M)与y的关系执行L=M或R=M,进入下一轮循环

在函数编程语言中,迭代可以用递归技巧来 下述例子用Scheme语言写成。注意它是一个递归(迭代的特例),因为函数iter在解决问题时调用了自身。特别地,它使用了尾部递归,一种能被Scheme这样的编程语言完备支持的技巧,因此程序不会占用大量堆栈。

;; sum : number -> number;; to sum the first n natural numbers(define(sumn)(if (and (integer? n)(> n0))(let iter([nn][i1])(if (= n1)i(iter(- n1)(+ ni))))((assertion-violation"sum"invalid argument"n))))

迭代器(iterator)就是一个封装了迭代的对象。

参见

迭代法

迭代函数

For循环

While循环

递归


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
扫一扫添加客服微信