遞推法的一般步驟 迭代和遞推算法有什么區(qū)別???
迭代和遞推算法有什么區(qū)別啊?遞歸:UN=UN-1*2迭代:y=x*2x=y如果用這兩個(gè)公式編程,遞歸將使用遞歸函數(shù)或生成長(zhǎng)度為N的數(shù)組,但如果是迭代,則只使用while或for循環(huán),并且只使用兩個(gè)變量
迭代和遞推算法有什么區(qū)別???
遞歸:UN=UN-1*2迭代:y=x*2x=y如果用這兩個(gè)公式編程,遞歸將使用遞歸函數(shù)或生成長(zhǎng)度為N的數(shù)組,但如果是迭代,則只使用while或for循環(huán),并且只使用兩個(gè)變量。該程序的效率高于遞歸算法。這應(yīng)該是因?yàn)榈ㄊ窃谶f歸法的基礎(chǔ)上進(jìn)一步分析,才能得到便于編程的公式。迭代算法是計(jì)算機(jī)求解問(wèn)題的基本方法。它利用計(jì)算機(jī)運(yùn)算速度快、適于重復(fù)操作的特點(diǎn),使計(jì)算機(jī)能夠重復(fù)執(zhí)行一組指令(或某些步驟)。每次執(zhí)行指令組(或這些步驟)時(shí),都會(huì)從變量的原始值派生一個(gè)新值。利用迭代算法求解問(wèn)題,需要做以下三個(gè)方面的工作:第一,確定迭代變量。在可以用迭代算法求解的問(wèn)題中,至少有一個(gè)變量直接或間接地從舊值中遞歸出新值。這個(gè)變量叫做迭代變量。第二,建立迭代關(guān)系。所謂迭代關(guān)系,是指如何從變量的上一個(gè)值推導(dǎo)出下一個(gè)值的公式(或關(guān)系)。迭代關(guān)系的建立是解決迭代問(wèn)題的關(guān)鍵,通??梢酝ㄟ^(guò)遞歸或反推來(lái)完成。第三,控制迭代過(guò)程。什么時(shí)候結(jié)束迭代過(guò)程?這是編寫(xiě)迭代程序時(shí)必須考慮的問(wèn)題。你不能讓迭代無(wú)休止地進(jìn)行下去。迭代過(guò)程的控制可以分為兩種情況:一種是所需迭代次數(shù)是某個(gè)值,可以計(jì)算出來(lái);另一種是所需迭代次數(shù)不能確定。對(duì)于前一種情況,我們可以建立一個(gè)固定數(shù)量的循環(huán)來(lái)控制迭代過(guò)程。對(duì)于后一種情況,我們需要進(jìn)一步分析終止迭代過(guò)程的條件。