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: Különbség az aranyos és szép között

    Különbség az aranyos és szép között

    A legfontosabb különbség: az aranyos és szépek kellemes szavak. Az aranyos egy dolog vonzerejét és varázsát fejezi ki, míg a gyönyörű egy dolog szépségét fejezi ki. Az aranyos szót használják az elismerés érzésének közvetítésére. A szó használatával dicsérik az olyan tulajdonságok, mint az édesség, a varázsa, az ártatlanság, a vonzereje stb. Azt is fel lehet használni, hogy ki
  • népszerű összehasonlítások: Az iPhone 5C és az iPhone 5 közötti különbség

    Az iPhone 5C és az iPhone 5 közötti különbség

    A legfontosabb különbség: Az iPhone 5C az iPhone 5S olcsóbb változata, az Apple Inc. Az iPhone 5 az iPhone 5S elődje. Eredetileg az Apple iOS 6-mal érkezett, amely most 7-re frissíthető. 1, 2 GHz-es kétmagos Apple A6 processzort, PowerVR SGX543MP3 és 1 GB RAM-ot tartalmaz. 2013. szeptember 10-én az Apple bejelentette a legújabb telefonmodelljét: iPhone 5S és iPhone 5C. Az iPhone 5C
  • népszerű összehasonlítások: Az amerikai és a kanadai futball közötti különbség

    Az amerikai és a kanadai futball közötti különbség

    Kulcsfontosságú különbség: Az amerikai futball egy óra, amely egyszerre 11 játékosból áll. A kanadai labdarúgás körülbelül egy órát tart, és négynegyede 15 percenként. Ez magában foglalja, hogy egyszerre 12 játékos van a pályán. A játékok területe, labda mérete és bizonyos szabályai eltérnek egymástól. Az amerikai futball és a kanadai
  • népszerű összehasonlítások: A Crystal és az Mineral közötti különbség

    A Crystal és az Mineral közötti különbség

    Főbb különbség: A kristályok olyan tiszta anyagok, amelyek atomjai, molekulái vagy ionjai rendezett mintázatban vannak elrendezve, ahol mindhárom térbeli dimenzió kiterjed. Az ásványi anyagok homogén szilárd anyagok, amelyek rendszeres szerkezetűek, és a földkéregben található sziklákban, ércekben és ásványi lerakódásokban találhatók. A Föld kérge keményített an
  • népszerű összehasonlítások: A baktériumok és a mikroorganizmusok közötti különbség

    A baktériumok és a mikroorganizmusok közötti különbség

    Főbb különbség: A baktériumok (szinguláris: baktérium) egysejtű mikroorganizmusok, amelyek a prokarióta csoportba tartoznak. A mikroorganizmus bármely olyan szervezetre utal, amely csak mikroszkóp alatt látható. A baktériumok szintén mikroorganizmusok. A baktériumok egysejtű mikroorganizmusok, amelyek az anyagcsere-típusok, a geometriai formák és a környezeti élőhelyek változatos skálájával rendelkeznek. A struktúrájuk hiányzik a
  • népszerű összehasonlítások: A csecsemő és a szülés közötti különbség

    A csecsemő és a szülés közötti különbség

    Főbb különbség: A vetélés olyan terhességre használt kifejezés, amely olyan szakaszban ér véget, amikor a magzat nem képes önállóan túlélni, vagy ha a terhesség a terhesség első 20 hetében véget ér. A születéskor a méhben a magzat meghal, leggyakrabban 20 hét után. A „vetélés” és „csendélet” kifejezések a terhesség alatt előforduló szövődmények, és a terhes nő rosszabb félelmei. A spontán abortusz (SAB) nevű vetélés olyan terh
  • népszerű összehasonlítások: A világi és a liberális különbség

    A világi és a liberális különbség

    Legfontosabb különbség : A világi azt jelenti, hogy nincsenek vallási affinitásuk. A liberális azt jelenti, hogy társadalmi és politikai nézeteik vannak, amelyek előmozdítják a haladást és a reformációt. A liberális azt jelenti, hogy a politikai szabadságot támogatja. Politikai ideológia. Ez az egész eszmék
  • népszerű összehasonlítások: Különbség a Kindle és a Kobo között

    Különbség a Kindle és a Kobo között

    Kulcsfontosságú különbség : A Kobo-t a Kindle-től nem lehet külön elválasztani. Az Amazon.com fejlesztése és forgalmazása a Kindle, az e-book olvasó. Másrészt a Kobo egy e-book olvasó is, amelyet a Kobo Inc. tervez és forgalmaz. A Kindle és a Kobo E-book olvasóként indult a piacon. Mindkettőnek külön
  • népszerű összehasonlítások: A Niagara-vízesés és a Horseshoe-vízesés közötti különbség

    A Niagara-vízesés és a Horseshoe-vízesés közötti különbség

    A legfontosabb különbség: a Niagara-vízesés a Niagara-folyó vízesései. Három vízesésből áll: az Amerikai vízesés és az Amerikai Egyesült Államokban lévő menyasszonyi fátyol és a kanadai kanadai „Patkó”. Így a Horseshoe vízesés a Niagara-vízesést alkotó vízesés egyikének is nevezhető. A Niagara vízesés három külön vízes

Szerkesztő Választása

Az Alcatel One Touch Idol Ultra és a Samsung Galaxy S4 közötti különbség

Főbb különbség: Az Alcatel One Touch Idol Ultra 4, 65 hüvelykes HD AMOLED kapacitív érintőképernyővel rendelkezik, amelynek felbontása 720 x 1280 pixel. A telefont a Dual-core 1, 2 GHz-es processzor táplálja a MediaTek MTK 6577 és 1 GB RAM-on. A telefon szélessége 6, 45 mm, aminek köszönhetően a vállalat a piac legvékonyabb okostelefonjává vált. A Samsung Galaxy S4 a