迭代是啥意思?
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仿佛无本之木,没有存在的价值。
参考资料:百度百科——迭代
意思:更相代替;轮换。
对计算机特定程序中需要反复执行的子程序*(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。
拓展资料:
典故:
汉 仲长统 《昌言·理乱》:“存亡以之迭代,政乱从此周复,天道常然之大数也。”
北周 庾信 《哀江南赋》序:“春秋迭代,必有去故之悲。”
鲁迅 《坟·科学史教篇》:“由是观之,可知人间教育诸科,每不即于中道,甲张则乙弛,乙盛则甲衰,迭代往来,无有纪极。”
参考资料:
百度百科 迭代
迭代意思是更相代替,轮换。数学和计算机方面有重复反馈过程的活动的意思,每一次对过程的重复称为一次“迭代”。
拓展资料:
迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。
参考资料:
百度汉语迭代
定义
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
相关概念
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中的普通函数是不是可迭代
map/set 迭代器不可递减是啥意思?如何使 map.rbegin()->first 工作?