A rekurzió és az iteráció közötti különbség

Kulcs különbség: A programozás során a rekurzió a rekurzív függvény figyelembe vételével magyarázható. A rekurzív függvény újra meghívja magát, hogy megismételje a kódot. Másrészről az iteráció egy iteratív függvény segítségével érhető el, amely a kód bizonyos szakaszának megismétlésére szolgál.

A programozás során a recurziót és az iterációt használják az ismétlések eléréséhez. Olyan folyamatra utalnak, amely többször megismétlődik. A rekurzió olyan megközelítésen alapul, amelyben valami valamire utal, amíg egy feltétel teljesül. Azt mondják, hogy egy módszer rekurzív, ha közvetlenül vagy közvetve hívhatja magát, mint:

érvénytelen név ()

{

... név () ...

}

vagy

érvénytelen név ()

{

... játszma, meccs() ...

}

érvénytelen játék () {

... név () ...

}

A sikeres rekurzió érdekében szem előtt kell tartani, hogy a rekurziós folyamatban végrehajtott minden hívásnak egyszerűsítenie kell a számítást. A rekurziót egy alap eset meghatározásával érjük el.

int faktori (int N)

{

ha (N == 0) visszatér 1;

máskülönben visszatér (N * tényező (N-1));

}

Ebben a példában a rekurzió könnyen látható az állításban (N * tényező (N-1)), ahol újra felhívja a tényezői funkciót. A rekurzió nagyon hasznos, mivel segít a kód lerövidítésében. A rekurzió azonban egy kicsit lassú a teljesítményben.

Az iteráció hurkokon alapul. Ezek a hurkok kifejezett iterációs folyamatokra utalnak. A hurok követelményének teljesítéséhez valamilyen kritériumnak kell lennie, amely megállítja a további iterációt. Ha azonban a hurokállapot-teszt soha nem válik hamisnak, akkor ebben az állapotban elkerülhetetlen a végtelen ciklus előfordulása. Ebben a példában a tényezőt az iterációs folyamat segítségével határozzák meg -

függvény tényező (n)

{

var hurok, eredmény;

eredmény = 1;

A (hurok = 1; loop <= n; hurok ++)

{

eredmény = eredmény * hurok;

}

visszatérési eredmény;

}

Ebben a példában a hurok az 1-től egész számokig terjedő egész számok használatával érhető el, és a ciklus <= n utasítás használata kritériumként szolgál a további hurok megállításához. Így arra a következtetésre juthatunk, hogy ugyanazok az eredmények érhetők el rekurzió és iteráció használatával. Mindazonáltal mindkettő egy kicsit eltérő megközelítéseken alapul. Bármely rekurzív algoritmus iterációval (hurkok) is írható.

Rekurzió és esztergálás összehasonlítása:

rekurzió

Ismétlés

Meghatározás

A rekurzió olyan rekurzív függvényre utal, amelyben újra meghívja magát a kód megismétlésére.

Az iteráció egy iteratív funkcióval érhető el, amely a kód egyes szakaszainak ismétlődéséhez vezet.

Fontos pont

Meg kell határozni egy alap esetet

Meg kell határozni a felmondási feltételt

Teljesítmény

Összehasonlítóan lassú

Összehasonlítóan gyors

Memóriahasználat

Összehasonlítva több

Összehasonlítva kevesebb

Kód

Kisebb

Hosszabb

Végtelen ismétlés

A végtelen rekurzió képes összeomlani a rendszert

A végtelen hurok ismételten fogyaszt CPU ciklusokat

Szerkezet

Kiválasztás

Ismétlés

Helyi változók

Nem szükséges

Kívánt

Ajánlott

Kapcsolódó Cikkek

  • a különbség köztük: Az Essence és az Extract közötti különbség

    Az Essence és az Extract közötti különbség

    A legfontosabb különbség: az esszencia és a kivonat mind ízesítő összetevők. A kivonatot olajat az alkohollal kombinálva hozzák létre. Ez stabil, hosszabb ideig tartó ízesítőszert hoz létre. A lényegnek viszont két különböző jelentése lehet. Lehet, hogy imitációs kivonat lehet, vagy nagyon koncentrált tiszta kivonat lehet. Az esszencia és a kivonat
  • a különbség köztük: A hívás érték és a hívás közötti különbség a programozásban

    A hívás érték és a hívás közötti különbség a programozásban

    Kulcskülönbség: Az értékek és a hívás utáni hívások mindkét módszere az érvek átadásának. Hívás szerinti érték esetén a tényleges érvek egy példányát átadják a megfelelő formai érveknek; mivel a hívásjelzésben a tényleges érvek helyét vagy címét átadják a formális érveknek. A hívás érték és a hívás szerinti referen
  • a különbség köztük: A Predator és a Prey közötti különbség

    A Predator és a Prey közötti különbség

    Főbb különbség: Predator vadászik a Prey-t. A ragadozó olyan állat, aki más állatokat vadász; míg a ragadozó az állat, amelyet más állat vadász. Mindkét állat szükséges a Föld ökológiai egyensúlyának fenntartásához. Predator és Prey alapvetően egy állat vadászatára és támadására utal. Predátorok azok, akik vadásznak má
  • a különbség köztük: A Niqab és a Burqa közötti különbség

    A Niqab és a Burqa közötti különbség

    A legfontosabb különbség: a Niqab és a burqa kétféle ruházat, amelyek az iszlám nők rendelkezésére állnak. A burqa egy laza külső ruházat, amely az egész testet magába foglalja. A burkák célja a test alakja a családon kívüli férfiak előtt. A test mellett a burqa a fejet és az arcot is lefedi. A niqab vagy a ruband v
  • a különbség köztük: Az AVI és a 3GP közötti különbség

    Az AVI és a 3GP közötti különbség

    Főbb különbség: Mind az AVI, mind a 3GP fájlformátumok, amelyek főleg audióval történő videók lejátszására szolgálnak. Az AVI és a 3GP nem kódolási formátumok, hanem konténerfájlok, azaz alapvetően formázott videofájlok csomagolásai. A fő különbség a kettő között nem a formátumokból, hanem a fájlokban használt codec-ekből származik. Továbbá, az AVI-t úgy tervezték, hogy
  • a különbség köztük: A fenyő és a gumifa közötti különbség

    A fenyő és a gumifa közötti különbség

    Legfontosabb különbség: A fenyőfák, könnyű súlyúak és olcsóbbak. Könnyű súlya miatt a fenyő nagyon népszerű a hálószobabútorokban, például szekrényekben, ágyakban, mivel sokkal könnyebb a bútorok mozgatása. A gumifa lényegében a gumifából származó fa, a Pará gumifa specifikus. A Pará gumifa tudományosan Hevea
  • a különbség köztük: A Spearmint és a borsmenta közötti különbség

    A Spearmint és a borsmenta közötti különbség

    Kulcsfontosságú különbség : Bár a lándzsás és a borsminták bányák, mindkettő teljesen más. A két típusú menta közötti különbség az íz, aroma és tulajdonságai alapján történik. Gumgolyó vagy Candy Canes? Biztos, hogy a választás nehéz választás! Mindkettő teljesen más, de receptjeik ugyanolyan „menta” összetevőt igényelnek. A menta egy csodálatos gyógynövény, amely
  • a különbség köztük: Különbség a tintasugaras, a Deskjet és a lézernyomtatók között

    Különbség a tintasugaras, a Deskjet és a lézernyomtatók között

    Kulcsfontosságú különbségek: A tintasugaras egy olyan típusú nyomtató, amely nyomtatja a képeket úgy, hogy a papírra festékcseppeket hajt végre. Ezek a nyomtatók a háztartásokban elérhető leggyakoribb nyomtatók. A Deskjet a Hewlett-Packard által gyártott nyomtatók márka. Ezek a nyomtatók egy olcsóbb változat a vállalat Officejet nyomtatóinak. A Deskjet otthoni használa
  • a különbség köztük: Különbség a rózsafa és a mahagóni között

    Különbség a rózsafa és a mahagóni között

    Főbb különbség: A rózsafa a különböző fák fát jelenti, beleértve a Tipuana, a Pterocarpus és a Dalbergia fák fáit. A rózsafa lényegében egyfajta keményfa. A rózsafát úgy nevezik el, hogy az idősebb fák nagyon édes és gazdag illatúak, ami rózsa emlékeztet. A rózsafa legismertebb a sötétbarna és / vagy vöröses árnyalatú, sötétebb vénájával. A rózsafa szoros, sűrű szemű, erős és ta

Szerkesztő Választása

A cookie-k és a kekszek közötti különbség

A legfontosabb különbség: a cookie-k és a kekszek többnyire kedvenc édességek. A textúrában a cookie-k nehézek és durvaak, és tele vannak dióval, zabdal, mazsolával és csokoládé chipsel; míg a kekszek enyhén lágyak, ropogósak és vastagok, és tele vannak cukorral és vajjal. A cookie-k és a kekszek lágy és kemény kenyeret sültek, általában kígyók formájában. A cookie és a keksz között nincs