什么是迭代_具體算法是怎樣的
什么是迭代_具體算法是怎樣的
迭代是重復(fù)反饋過(guò)程的活動(dòng),其目的通常是為了逼近所需目標(biāo)或結(jié)果。那么你對(duì)迭代了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是迭代的內(nèi)容,希望大家喜歡!
迭代的概念
函數(shù)
在數(shù)學(xué)中,迭代函數(shù)是在碎形和動(dòng)力系統(tǒng)中深入研究的對(duì)象。迭代函數(shù)是重復(fù)的與自身復(fù)合的函數(shù),這個(gè)過(guò)程叫做迭代。
模型
迭代模型是RUP(Rational Unified Process,統(tǒng)一軟件開(kāi)發(fā)過(guò)程,統(tǒng)一軟件過(guò)程)推薦的周期模型。
算法
迭代算法是用計(jì)算機(jī)解決問(wèn)題的一種基本方法。它利用計(jì)算機(jī)運(yùn)算速度快、適合做重復(fù)性操作的特點(diǎn),讓計(jì)算機(jī)對(duì)一組指令(或一定步驟)進(jìn)行重復(fù)執(zhí)行,在每次執(zhí)行這組指令(或這些步驟)時(shí),都從變量的原值推出它的一個(gè)新值。
迭代的基本算法
有些國(guó)外的教材,如《C++ Primer》第四版的中文版,會(huì)把iterative翻譯成迭代。
在java中Iterative 僅用于遍歷集合,本身并不提供盛裝對(duì)象的能力。如果需要?jiǎng)?chuàng)建Iterative對(duì)象,則必須有一個(gè)被迭代的集合。沒(méi)有集合的Iterative仿佛無(wú)本之木,沒(méi)有存在的價(jià)值。
iterative是反復(fù)的意思,所以,有時(shí)候,迭代也會(huì)指循環(huán)執(zhí)行,反復(fù)執(zhí)行的意思。
利用迭代算法解決問(wèn)題,需要做好以下三個(gè)方面的工作:
確定變量
在可以用迭代算法解決的問(wèn)題中,至少存在一個(gè)直接或間接地不斷由舊值遞推出新值的變量,這個(gè)變量就是迭代變量。
建立關(guān)系式
所謂迭代關(guān)系式,指如何從變量的前一個(gè)值推出其下一個(gè)值的公式(或關(guān)系)。迭代關(guān)系式的建立是解決迭代問(wèn)題的關(guān)鍵,通??梢允褂眠f推或倒推的方法來(lái)完成。
過(guò)程控制
在什么時(shí)候結(jié)束迭代過(guò)程?這是編寫迭代程序必須考慮的問(wèn)題。不能讓迭代過(guò)程無(wú)休止地重復(fù)執(zhí)行下去。迭代過(guò)程的控制通??煞譃閮煞N情況:一種是所需的迭代次數(shù)是個(gè)確定的值,可以計(jì)算出來(lái);另一種是所需的迭代次數(shù)無(wú)法確定。對(duì)于前一種情況,可以構(gòu)建一個(gè)固定次數(shù)的循環(huán)來(lái)實(shí)現(xiàn)對(duì)迭代過(guò)程的控制;對(duì)于后一種情況,需要進(jìn)一步分析出用來(lái)結(jié)束迭代過(guò)程的條件。
迭代的應(yīng)用實(shí)例
迭代法是用于求方程或方程組近似根的一種常用的算法設(shè)計(jì)方法。設(shè)方程為f(x)=0,用某種數(shù)學(xué)方法導(dǎo)出等價(jià)的形式x=g(x),然后按以下步驟執(zhí)行:
?、?選一個(gè)方程的近似根,賦給變量x0;
?、?將x0的值保存于變量x1,然后計(jì)算g(x1),并將結(jié)果存于變量x0;
?、?當(dāng)x0與x1的差的絕對(duì)值還大于指定的精度要求時(shí),重復(fù)步驟⑵的計(jì)算。
若方程有根,并且用上述方法計(jì)算出來(lái)的近似根序列收斂,則按上述方法求得的x0就認(rèn)為是方程的根。上述算法用C程序的形式表示為:
看過(guò)“迭代的算法”的人還看了: