Rekursiooni ja lteratsiooni erinevus

Oluline erinevus: programmeerimisel saab rekursiooni seletada rekursiivse funktsiooni arvestamisega. Rekursiivne funktsioon on kood, mis kordab koodi kordamiseks. Teisest küljest saavutatakse iteratsioon iteratiivse funktsiooniga, mis lõhub koodi mõne osa kordamist.

Programmeerimisel kasutatakse korduste tegemiseks rekursiooni ja iteratsiooni. Need viitavad protsessile, mida korratakse mitu korda. Rekursioon põhineb lähenemisviisil, milles midagi viitab ennast, kuni tingimus on täidetud. Meetod on rekursiivne, kui ta võib ise või kaudselt nimetada -

tühine nimi ()

{

... nimi () ...

}

või

tühine nimi ()

{

... mäng () ...

}

tühine mäng () {

... nimi () ...

}

Edukaks rekursiooniks tuleb meeles pidada, et iga rekursiooniprotsessis tehtud kõne peab arvutust lihtsustama. Rekursioon saavutatakse baasjuhtumi määratlemisel.

int faktoriaal (int N)

{

kui (N == 0) naasta 1;

muu tagasi (N * faktoriaal (N-1));

}

Selles näites võib rekursiooni hõlpsasti näha avalduses (N * faktoriaal (N-1)), kus ta kutsub uuesti faktoriaalfunktsiooni. Rekursioon on väga kasulik, kuna see aitab koodi lühendada. Kuid rekursioon on jõudluses veidi aeglane.

Iteratsioon põhineb silmustel. Need silmused viitavad selgesõnalistele iteratsiooniprotsessidele. Silmusnõude täitmiseks peab sellel olema teatud tüüpi kriteeriumid, mis peatavad edasise iteratsiooni. Siiski, kui silmusekontroll ei muutu kunagi valeks, siis on selles tingimustes vältimatu lõpmatu tsükli esinemine. Selles näites määratakse faktoriaal iteratsiooniprotsessi abil -

funktsionaalne faktoriaal (n)

{

var loop, tulemus;

tulemus = 1;

jaoks (loop = 1; silmus <= n; silmus ++)

{

tulemus = tulemus * silmus;

}

tagastamise tulemus;

}

Selles näites saavutatakse silmus, kasutades täisarvusid vahemikus 1 kuni n, ja loop <= n avaldust kasutatakse kriteeriumina, et lõpetada edasine silmus. Seega võime järeldada, et samu tulemusi on võimalik saavutada rekursiooni ja iteratsiooni abil. Need mõlemad põhinevad siiski veidi erinevatel lähenemisviisidel. Igat rekursiivset algoritmi saab kirjutada ka iteratsioonide (silmus) abil.

Rekursiooni ja iteratsiooni võrdlus:

Rekursioon

Iteratsioon

Määratlus

Rekursioon viitab rekursiivsele funktsioonile, milles ta ennast uuesti koodi kordamiseks kutsub.

Iteratsioon saavutatakse iteratiivse funktsiooni abil, mis aheneb koodi mõne osa kordamiseks.

Oluline punkt

Tuleb kindlaks määrata alusjuhtum

Lõpetamise tingimus tuleb kindlaks määrata

Toimivus

Suhteliselt aeglane

Võrreldes kiire

Mälu kasutamine

Võrreldes rohkem

Võrreldes vähem

Kood

Väiksemad

Pikem

Lõpmatu kordus

Lõpmatu rekursioon suudab süsteemi krahhida

Lõpmatu loopimine tarbib CPU tsükleid korduvalt

Struktuur

Valik

Kordamine

Kohalikud muutujad

Pole nõutud

Nõutud

Soovitatav

Seotud Artiklid

  • vahe: Tume ja helepruuni suhkru erinevus

    Tume ja helepruuni suhkru erinevus

    Peamine erinevus: tänapäeval populaarseks saanud pruun suhkur on valge suhkur melassi lisamisega. Pruun suhkur varieerub helepruunist suhkrust tumepruuni suhkruni. See ei tähenda ainult suhkru värvi, vaid suhkru melassi mahtu. Helepruun suhkur sisaldab 3, 5% melassi kogumahust, samas kui tumepruun suhkur on 6, 5% melassi. Re
  • vahe: Erinevus Hijabi ja Burqa vahel

    Erinevus Hijabi ja Burqa vahel

    Peamine erinevus: Hijab ja burqa on kaks erinevat tüüpi riideid, mis on kättesaadavad islami naistele. Hijab või hejab viitab tegelikult reeglitele. Tavalises igapäevases kontekstis kasutatakse aga sõna, mis viitab peale ulatuvale sallile. Burqa on seevastu lahtine välimine rõivas, mis katab kogu keha pea-to-toe. Hijab
  • vahe: Erinevus Sony Xperia E ja Samsung Galaxy S Duos vahel

    Erinevus Sony Xperia E ja Samsung Galaxy S Duos vahel

    Peamine erinevus: Sony Xperia E ja E-Dual on kaks Sony Mobile'i algtaseme telefoni. Telefonis on 3, 5 TFT mahtuvuslik, millel on ~ 165 ppi pikslitihedus. Kaasas 1 GHz Cortex-A5 Qualcomm Snapdragon protsessor, Adreno 200 GPU ja 512 MB RAM. Samsung Galaxy S Duos on kahe SIM-kaardi telefon, mis käivitati 2012.
  • vahe: Erinevus HTC Windows 8X ja Samsung Galaxy S3 vahel

    Erinevus HTC Windows 8X ja Samsung Galaxy S3 vahel

    Peamised erinevused: HTC Windows 8X spordib 4, 3-tollist S-LCD2 mahtuvuslik puutetundlikku ekraani, mis annab pikslitiheduse 342 ppi. Ekraan on kaitstud gorilla klaasiga 2, mis muudab selle üsna vastupidavaks ja kriimustustele vähem. Telefon on küllalt libe ja õhuke, mis kaalub akuga ainult 130 grammi. Ga
  • vahe: Erinevus Alot, Allot ja Lot

    Erinevus Alot, Allot ja Lot

    Peamised erinevused: Sõna „palju” ei ole tehniliselt inglise keeles. See on "palju". Mõiste „palju” tähendab suurt hulka, suuri summasid või palju. „Allot” tähendab midagi anda kellelegi või pigem anda kellelegi midagi. Termineid „Alot, Allot ja Lot” segatakse sageli kokku. Kuid inimesed ei saa
  • vahe: Erinevus Aloe ja Aloe Vera vahel

    Erinevus Aloe ja Aloe Vera vahel

    Peamised erinevused: Aloe on Plantae Kingdom'i taimede perekond, kus on üle 400 õitsevate mahlakasete taimede liiki. Aloe Vera on Aloe taimestiku üks levinumaid liike, mis arvatakse pärinevat Põhja-Aafrikast. Aloe ja Aloe Vera on kõige sagedamini kuulatud taimedes; Aloe Vera on oma meditsiinilisel otstarbel populaarne taim. Kui
  • vahe: Erinevus Samsung Galaxy S Duos ja Sony Xperia J vahel

    Erinevus Samsung Galaxy S Duos ja Sony Xperia J vahel

    Oluline erinevus: Samsung Galaxy S Duos on 2012. aasta septembris käivitatud dual-SIM telefon. Telefonis on 4-tolline TFT mahtuvuslik puutetundlik ekraan, mille tihedus on umbes 233 ppi. Seadmel on Samsungi TouchWizi kasutajaliides Android 4.0.4 ICS-is. Xperia J kuulutati 2012. aasta oktoobris välja Xperia T odavamana variandina, mille tulemuseks oli telefon sarnase kujundusega.
  • vahe: Erinevus piiskopi ja pastori vahel

    Erinevus piiskopi ja pastori vahel

    Peamised erinevused: Kristluses tähendavad need kaks mõistet üldiselt sama asja. Mõlemad viitavad inimestele, kellel on juhtroll, et suunata ja nõustada inimesi nende vaimsuse suhtes. Rooma katoliku kirikus on piiskop kontor, kus nad vastutavad rühmade koguduste ja koguduste eest. Religioon on piisavalt segane, ilma et peaks ka tegelema bifurkatsioonide ja hierarhiaga; ja just sellised on piiskopid ja pastorid. Mõle
  • vahe: Erinevus Plaza ja Piazza vahel

    Erinevus Plaza ja Piazza vahel

    Peamine erinevus: Plaza ja Piazza on avatud, avalik koht, mis asub elava linna või linna lähedal. Termin "plaza" on tuletatud hispaaniakeelsest sõnast, mis viitab avatud väljale. Platsid on avatud kohad või linna väljakud, mida ümbritsevad hooned, kauplused, kauplused ja kontorid. Piazza on itaaliakeelne sõna „plaza”. Plaza ja p

Toimetaja Valik

Tsiviilõiguse ja ühise õiguse erinevus

Olulised erinevused: tsiviilõigussüsteemid pärinevad Lääne-Euroopast ja on Rooma õiguse ja Justiniuse koodeksi intellektuaalne raamistik. Tsiviilõiguse süsteem põhineb seadustel või koodidel, mis on kirjutatud ja nõuetekohaselt kodifitseeritud. Need seadused on avalikkusele hästi teada ja neid järgitakse. Ühisõiguse