Forskjellen mellom Rekursjon og Iterasjon

Nøkkelforskjell: Ved programmering kan rekursjon forklares ved å vurdere en rekursiv funksjon. En rekursiv funksjon er en som kaller seg igjen for å gjenta koden. På den annen side oppnås iterasjon med en iterativ funksjon som slår for å gjenta noen del av koden.

I programmering brukes både rekursjon og iterasjon for å oppnå repetisjoner. De refererer til en prosess som gjentas mange ganger. Rekursjon er basert på en tilnærming der noe refererer til seg selv til en tilstand er oppfylt. En metode sies å være rekursiv hvis den kan kalle seg enten direkte eller indirekte som -

tomt navn ()

{

... Navn() ...

}

eller

tomt navn ()

{

... spill () ...

}

tomt spill () {

... Navn() ...

}

For en vellykket rekursjon må man huske på at hvert anrop gjort i rekursjonsprosessen må forenkle beregningen. Rekursjon oppnås ved å definere en basis sak.

int factorial (int N)

{

hvis (N == 0) returnere 1;

ellers returnere (N * faktorial (N-1));

}

I dette eksemplet kan rekursjon lett ses i setningen (N * faktorial (N-1)), der den kalder den faktoriale funksjonen igjen. Rekursjon er veldig nyttig, da det hjelper med å forkorte koden. Rekursjonen er imidlertid litt langsom i ytelsen.

Iterasjon er basert på sløyfer. Disse løkkene refererer til eksplisitte iterasjonsprosesser. For å oppfylle kravet til en sløyfe, må det ha noen type kriterier som stopper videre iterasjon. Men hvis sløyfetest-testen aldri blir falsk, så er forekomsten av en uendelig sløyfe uunngåelig i den tilstanden. I dette eksemplet blir faktorial bestemt ved å bruke iterasjonsprosessen -

fungere faktorial (n)

{

var loop, resultat;

resultat = 1;

for (loop = 1; sløyfe <= n; sløyfe ++)

{

resultat = resultat * loop;

}

returresultat;

}

I dette eksemplet oppnås looping ved å bruke heltall fra 1 til n, og loop <= n-setningen brukes som et kriterium for å stoppe videre looping. Dermed kan vi konkludere med at de samme resultatene kan oppnås ved å bruke en rekursjon og iterasjon. Imidlertid er de begge basert på tilnærminger som er litt forskjellige. Eventuell rekursiv algoritme kan også skrives ved hjelp av iterasjoner (looper).

Sammenligning mellom rekursjon og gjentagelse:

rekursjon

køyring

Definisjon

Rekursjon refererer til en rekursiv funksjon der den kaller seg igjen for å gjenta koden.

Iterasjon oppnås ved en iterativ funksjon som løkker for å gjenta noen del av koden.

Viktig poeng

En grunnleggende sak må bestemmes

En oppsigelsestilstand må bestemmes

Opptreden

Sammenlignet sakte

Relativt raskt

Minnebruk

Forholdsvis mer

Relativt mindre

Kode

mindre

lengre

Uendelig repetisjon

Uendelig rekursjon er i stand til å krasje systemet

Uendelig looping bruker CPU sykluser gjentatte ganger

Struktur

utvalg

Gjentakelse

Lokale variabler

Ikke obligatorisk

Anbefalt

Relaterte Artikler

  • forskjell mellom: Forskjellen mellom Bitmap og Pixmap

    Forskjellen mellom Bitmap og Pixmap

    Hovedforskjell: Begrepet bitmap betyr i hovedsak et kart over biter eller spesifikt et "romlig kartlagt utvalg av biter". Pixmap er veldig lik bitmap. Faktisk kaller de fleste pixmaps som bitmaps. Som bitmap refererer til et "romlig kartlagt utvalg av biter", er pixmap et "romlig kartlagt utvalg av piksler"
  • forskjell mellom: Forskjell mellom Sony Xperia S og Alcatel One Touch Idol Ultra

    Forskjell mellom Sony Xperia S og Alcatel One Touch Idol Ultra

    Hovedforskjell: Xperia S har en 4, 3-tommers TFT-berøringsskjerm med splittersikker ark på ripebestandig glass. Skjermen gir en imponerende 342 ppi tetthet og drives av en 1, 5 GHz Qualcomm Dual-core prosessor. Alcatel One Touch Idol Ultra har en 4, 65 tommers HD AMOLED kapasitiv berøringsskjerm med en oppløsning på 720 x 1280 piksler. Tel
  • forskjell mellom: Forskjell mellom lam og sau

    Forskjell mellom lam og sau

    Hovedforskjell: Sau er en type tamdyr, som ofte holdes for melk, fleece og kjøtt. De var en av de tidligste dyrene som ble tammet. I hovedsak er den eneste forskjellen mellom lam og sau det faktum at lam er unge får, spesielt et sau under ett år. Etter at lammet er i løpet av ett år, anses det som seksuelt aktivt og offisielt et sau. Sau
  • forskjell mellom: Forskjell mellom reporter og journalist

    Forskjell mellom reporter og journalist

    Hovedforskjell: Den primære forskjellen mellom en reporter og en journalist er at begrepet reporter ofte brukes til å henvise til noen på TV som generelt rapporterer nyheten, mens begrepet journalist vanligvis brukes i sammenheng med en journalist som skriver artikler . Det er vanskelig å få alle fakta og presentere det til allmennheten. I t
  • forskjell mellom: Forskjell mellom abstrakt klasse og betong klasse

    Forskjell mellom abstrakt klasse og betong klasse

    Nøkkelforskjell: Det er to hovedtyper av klasser: Abstrakt klasse og betongklasse. Hovedforskjellen mellom de to oppstår fra implementeringsnivået til metodens funksjonalitet. Betongklasser er vanlige klasser, der alle metodene er fullstendig implementert. En abstrakt klasse er akkurat hva navnet tilsier. D
  • forskjell mellom: Forskjell mellom smarttelefon og vanlig telefon

    Forskjell mellom smarttelefon og vanlig telefon

    Nøkkelforskjell: Smartphones er noen mobiltelefoner som ligner en mini datamaskin. Smarttelefoner tilbyr en rekke funksjoner som gir avansert databehandlingskapasitet og tilkobling. En vanlig telefon ligner en grunnleggende og en vanlig telefon. Det lar brukerne ringe / motta samtaler og sende / motta tekstmeldinger.
  • forskjell mellom: Forskjell mellom atommasse og atomnummer

    Forskjell mellom atommasse og atomnummer

    Nøkkelforskjell: Atommasse er bare massen av en bestemt isotop, eller den samlede massen av atomets protoner, nøytroner og elektroner. Atometall er antallet protoner som finnes i en kjernen til et element. La oss innse at kjemien er forvirrende, den forskjellige mengden av elementer, atomnumre, obligasjoner, masse, vekt, atomer, etc.
  • forskjell mellom: Forskjell mellom eik og as

    Forskjell mellom eik og as

    Hovedforskjell: Eik og aske er to forskjellige typer trær. Vilkårene brukes også til å indikere tre oppnådd fra deres respektive trær. Oaks anses å være en hardved, tung, langvarig og dyr. Eik er også kjent for sin styrke og holdbarhet, samt høy motstand mot fuktighet og fuktighet. Ask er kjent for å være en av de vanskeligste hardvedene og har vidstrakt bruk. Det er fak
  • forskjell mellom: Forskjellen mellom ansvar og gjeld

    Forskjellen mellom ansvar og gjeld

    Hovedforskjell: Gjeld er alle lik gjeld. Begge refererer til forpliktelser der penger må betales tilbake. I de fleste tilfeller inkluderer gjeld alle gjeld, særlig når man beregner gjeld til egenkapitalandel. I enkelte tilfeller kan gjeld imidlertid bare omfatte kortsiktige og langsiktige lån og obligasjoner som skal betales, og kan utelukke påløpte lønninger og verktøy, betalbar inntektsskatt og andre forpliktelser. I de f

Redaksjonens

Forskjellen mellom hvitt brød og hvetebrød

Nøkkelforskjell: Hvitbrød er vanligvis brød laget av hvetemel som har kli og kimlagene fjernet under behandlingen. Hvetebrød er brød som er laget ved å bruke mel som er delvis eller helt frøet fra hele eller nesten hele hvetekorn. Brød er den eldste stiftematen som har vært forberedt i minst 30 000 år. Den er t