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

  • népszerű összehasonlítások: A Celsius és a Celsius közötti különbség

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

    Kulcskülönbség: Celsius és Celsius különbözõ kifejezések azonos hőmérsékleti skálára vonatkoznak. A CGPM (Conference General des Poids et Measures) által 1948-ban fokozatosan megszüntették és Celsiusra cserélték. Észrevetted, hogy néhány ember 35 ° C-ot olvasson 35 Celsius-fok, míg más emberek ugyanolyan pontos mérést kapnak, mint 35 fokos? Nos, Celsius és Celsius le
  • népszerű összehasonlítások: A Nova és a Chevelle közötti különbség

    A Nova és a Chevelle közötti különbség

    A legfontosabb különbség: a Nova és a Chevelle az Amercia leggyakoribb izomautói. A Nova „új”. A Chevrolet a Nova néven ismert kis autókat gyártotta. Azonban Nova volt az első autó, amelyet a Chevrolet gyártott, és az akkori egyik legjobb modell volt. Másrészt az első Chevelle autót 1964-ben vezették be, és ez volt a Chevrolet egyik legsikeresebb névtáblája. Nova és Chevelle a Chevr
  • népszerű összehasonlítások: A műanyag és az üveg lencsék közötti különbség

    A műanyag és az üveg lencsék közötti különbség

    Kulcsfontosságú különbség: A műanyag lencsék olcsóbbak, könnyebbek és kevésbé hajlamosak megtörni, mint az üveg. Az üveg lencsék drágábbak, nehezebbek és karcállóbbak, mint a műanyag. A mai világban sokan szemproblémákkal rendelkeznek, és szemüveget igényelnek. A szemüveglencsék üvegből vagy műanyagból, különösen polikarbonátból, CR-39 (normál műanyag), középindexű műanyagból és nagy indexű műanyagból készülnek. A CR-39 ma a leggyakrabban használt anyag, a polik
  • népszerű összehasonlítások: Eon és Era közötti különbség

    Eon és Era közötti különbség

    Kulcsfontosságú különbség : Az Eon és Era szavak meglehetősen zavart hozhatnak létre, mert ugyanazok. Azonban az Eon határozatlan idő, amely sok Erasra van felosztva, amely viszont bizonyos, bizonyos megkülönböztető változások által megjelölt időszakokat ismeri fel. Az olyan idők, mint az eon, a korszak, a korszak az idő mérési egységei. Ezeket különösen a geo
  • népszerű összehasonlítások: A szerző és a író közötti különbség

    A szerző és a író közötti különbség

    Kulcsfontosságú különbség: Az irodalmi és kreatív írásokban egy „szerző” az, aki eredetileg saját tartalmát hozta létre, míg az „író” az a személy, aki bármilyen jellegű tartalmat ír a neki kijelölt témákhoz. Általában a "szerző" és "író" szavak szinonimák. A szerzők és írók alapvető szerepet
  • népszerű összehasonlítások: Különbség a kontinentális és a kínai étel között

    Különbség a kontinentális és a kínai étel között

    Főbb különbség : A kontinentális ételek olyan konyhát jelentenek, amely jól ismert nyugati kultúrákat tartalmaz. A kínai konyha olyan stílusokat tartalmaz, amelyek Kínából és népéből származó különböző régiókból származnak. A kontinentális és a kínai konyha két népszerű ételforma, amelyeket a világ minden tájáról nagyra értékelnek. Ez a cikk segít abban, hogy pontosabbak
  • népszerű összehasonlítások: A Software Engineering és a Computer Science közötti különbség

    A Software Engineering és a Computer Science közötti különbség

    Főbb különbség: A szoftverfejlesztés a probléma gyakorlati megoldásának tanulmányozása, kidolgozása és kiépítése. A szoftverfejlesztő célja, hogy megértse a számítógépen belüli problémát, és olyan szoftvert hozzon létre, amely megkönnyíti a problémát. A Computer Science (CS vagy CompSci) egy olyan terület, amely a számítástechnikai és az összes alkalmazás tudományos és gyakorlati megközelítésével foglalkozik. A számítógépes tudós a számítás elméletére
  • népszerű összehasonlítások: Különbség a pub és a klub között

    Különbség a pub és a klub között

    Főbb különbség: A kocsma általában csak egy hely, ahol a helyiek lóghatnak, enni és inni. Egy éjszakai klub a fiatalabb generáció számára, és hangos zene, tánc és ivás. A kocsma és a klub közötti zavart abból a tényből ered, hogy mindkettő az emberek számára, hogy lógjanak, szórakozni és inni. A kettő között azonban vann
  • népszerű összehasonlítások: A mátrix és a determináns közötti különbség

    A mátrix és a determináns közötti különbség

    Kulcskülönbség: A mátrix vagy mátrix egy sor vagy oszlop formátumban ábrázolt számok vagy szimbólumok téglalap alakú rácsja. A determináns egy négyzet mátrix komponense, és nem található más típusú mátrixban. A mátrixok és a determinánsok a lineáris matematikában fontos fogalmak. Ezek a fogalmak hatalmas s

Szerkesztő Választása

A napraforgóolaj és a növényi olaj különbsége

Főbb különbség: Az olajok a főzés legfontosabb összetevői. A napraforgóolaj lényegében egyfajta növényi olaj; amely a napraforgómagból származik. Míg a piacon különböző típusú és sokoldalú tulajdonságokkal rendelkező növényi olajok találhatók. Különböző típusú növényi olajok állnak rendelkezésre a természetben, amelyek különleges tulajdonságokkal gazdagodnak. Növényi olajok a sütés, a sütés és a sütés