迭代是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代是啥意思?相关的知识,希望对你有一定的参考价值。

迭代

[dié dài]

迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法*求某一数学问题的解。

对计算机特定程序中需要反复执行的子程序*(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。

相关概念

函数

在数学中,迭代函数是在分形和动力系统中深入研究的对象。迭代函数是重复的与自身复合的函数,这个过程叫做迭代。

模型

迭代模型是RUP(Rational Unified Process,统一软件开发过程,统一软件过程)推荐的周期模型。

算法

迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。

【下面结合具体的实例加以说明】

在数学迭代中,假设有迭代公式f(x)=2x+y,变量初始值为x=1,y=1,要求迭代次数为4,那么迭代过程如下:

(1)第一次迭代:f(x)=2+1=3,迭代后的变量值为x=1,y=3;

(2)第二次迭代:f(x)=2+3=5,迭代后的变量值为x=1,y=5;

(3)第三次迭代:f(x)=2+5=7,迭代后的变量值为x=1,y=7;

(4)第四次迭代:f(x)=2+7=9,迭代后的变量值为x=1,y=9;

显然最终结果为x=1,y=9。实际上迭代初始值不同,结果也不同,例如如果变量初始值为x=0,y=1,那么无论迭代多少次,最后的结果都不会改变,都是x=0,y=1。

拓展资料:

迭代法

迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。

迭代算法是用计算机解决问题的一种基本方法,它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值,迭代法又分为精确迭代和近似迭代。

比较典型的迭代法如“二分法”和"牛顿迭代法”属于近似迭代法。

应用

迭代法的主要研究课题是对所论问题构造收敛的迭代格式,分析它们的收敛速度及收敛范围。迭代法的收敛性定理可分成下列三类:

①局部收敛性定理:假设问题解存在,断定当初始近似与解充分接近时迭代法收敛;

②半局部收敛性定理:在不假定解存在的情况下,根据迭代法在初始近似处满足的条件,断定迭代法收敛于问题的解;

③大范围收敛性定理:在不假定初始近似与解充分接近的条件下,断定选代法收敛于问题的解。

选代法在线性和非线性方程组求解,最优化计算及特征值计算等问题中被广泛应用。

参考资料:

迭代-百度百科

迭代法-百度百科

参考技术A

    迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

    重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法求某一数学问题的解。

    对计算机特定程序中需要反复执行的子程序(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。

    扩展资料:

    在数学中,迭代函数是在分形和动力系统中深入研究的对象。迭代函数是重复的与自身复合的函数,这个过程叫做迭代。

    迭代模型是RUP(Rational Unified Process,统一软件开发过程,统一软件过程)推荐的周期模型。

    迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。

    有些国外的教材,如《C++ Primer》第四版的中文版,会把iterative翻译成迭代。在java中Iterative 仅用于遍历集合,本身并不提供盛装对象的能力。如果需要创建Iterative对象,则必须有一个被迭代的集合。没有集合的Iterative仿佛无本之木,没有存在的价值。

    参考资料:百度百科——迭代

参考技术B

意思:更相代替;轮换。

对计算机特定程序中需要反复执行的子程序*(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。

迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。

拓展资料:

典故:

汉 仲长统 《昌言·理乱》:“存亡以之迭代,政乱从此周复,天道常然之大数也。”

北周 庾信 《哀江南赋》序:“春秋迭代,必有去故之悲。”

鲁迅 《坟·科学史教篇》:“由是观之,可知人间教育诸科,每不即于中道,甲张则乙弛,乙盛则甲衰,迭代往来,无有纪极。”

参考资料:

百度百科  迭代

参考技术C

迭代意思是更相代替,轮换。数学和计算机方面有重复反馈过程的活动的意思,每一次对过程的重复称为一次“迭代”。

拓展资料:

迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。

参考资料:

百度汉语迭代

参考技术D

    定义

    迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

    相关概念

    1)函数

    在数学中,迭代函数是在碎形和动力系统中深入研究的对象。迭代函数是重复的与自身复合的函数,这个过程叫做迭代。

    2)模型

    迭代模型是RUP(Rational Unified Process,统一软件开发过程,统一软件过程)推荐的周期模型。

    3)算法

    迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。

HashMap 的迭代器是快速失败的,而 HashTable 的枚举器不是,你到底是啥意思?

【中文标题】HashMap 的迭代器是快速失败的,而 HashTable 的枚举器不是,你到底是啥意思?【英文标题】:What do you exactly mean by HashMap's iterator is fail-fast and HashTable's enumerator isn't?HashMap 的迭代器是快速失败的,而 HashTable 的枚举器不是,你到底是什么意思? 【发布时间】:2012-02-03 18:37:43 【问题描述】:

我正在查找这两个类之间的区别,这一点出现在很多答案中,这个博客是来源: http://javarevisited.blogspot.com/2010/10/difference-between-hashmap-and.html

但是我不完全明白。 有人可以详细说明吗?也许举个例子?

感谢您的关注!

【问题讨论】:

【参考方案1】:

Fail-fast 意味着当您在迭代时尝试修改内容时,它将失败并抛出 ConcurrentModificationException。

Set keys = hashMap.keySet();
for (Object key : keys) 
    hashMap.put(someObject, someValue); //it will throw the ConcurrentModificationException here
 

对于HashTable枚举:

 Enumeration keys = hashTable.keys();
 while (keys.hasMoreElements()) 
          hashTable.put(someKey, someValue);  //this is ok
    

【讨论】:

Hastable 的迭代器是快速失败的。它的枚举不是。【参考方案2】:

最好的方法可能是查看每个类的源代码,由 Open JDK 实现的每个类实现;这样一来,您就可以直接从马嘴里得到答案:-)

除此之外,从本质上讲,“快速失败”意味着如果检测到另一个线程已修改目标 HashMap,则 HashMap 上的迭代器将抛出异常 - 如果您查看 HashMap 的源代码,您将看到这是通过简单地检查预期修改数量的计数器来完成的。如果修改计数与 Iterator 预期的不同,则意味着自上次检查后有人进入并弄乱了 HashMap,因此 Iterator 抛出 ConcurrentModificationException。

“非快速失败”迭代器不会费心检查,并且会愉快地在底层数据结构中执行其业务。因此,您获得了一些灵活性(在这种情况下可能是可疑的灵活性),以换取以后可能会遇到错误;即尝试访问不再存在的值。

与所有fail-fast 策略一样,其理念是越早检测到错误,就越容易从中恢复或调试。

【讨论】:

不只是另一个线程。如果您在迭代地图时修改地图,即使在同一个线程中,也会引发 ConcurrentModification(除非您使用迭代器本身修改地图) 非常真实!我自己犯的一个有时令人困惑的错误:-)【参考方案3】:

在调用iterator.next() 时,如果在创建迭代器和调用next() 之间进行了任何修改,则会立即抛出 ConcurrentModificationException。这就是快速失败的意思。

Hashtable 返回的枚举没有这种行为。他们假设您知道自己在做什么,并且如果您在使用其枚举之一对其进行迭代时修改地图,他们的行为(AFAIK)是未定义的。

【讨论】:

以上是关于迭代是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

传播功能是啥意思。 javascript中的普通函数是不是可迭代

迭代时间timestep是啥意思?

python迭代器是啥意思

map/set 迭代器不可递减是啥意思?如何使 map.rbegin()->first 工作?

HashMap 的迭代器是快速失败的,而 HashTable 的枚举器不是,你到底是啥意思?

可枚举是啥意思?