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

  • populære sammenligninger: Forskjellen mellom Leg Break og Leg Spin

    Forskjellen mellom Leg Break og Leg Spin

    Nøkkelforskjell: En benspinnlevering er når bowler spinner ballen slik at når den treffer bakken, svinger ballen kraftig fra bensiden til offside. En benpause er i utgangspunktet en type benspinnlevering. Det er brukt til å referere til en levering som serveres fra en høyrehendt bowler til en høyresekret batsman. Cric
  • populære sammenligninger: Forskjellen mellom hensynsløs og impulsiv

    Forskjellen mellom hensynsløs og impulsiv

    Nøkkelforskjell: Uaktig og impulsiv er to termer som brukes til å betegne feil eller unøyaktig tilstand. Raskløs er en person som er veldig skikkelig; handling eller en oppgave utført uten å tenke på konsekvensene. Mens impulsiv er en person som sannsynligvis opptrer eller gjør en aktivitet uten å tenke på det. "Rø
  • populære sammenligninger: Forskjellen mellom prosess og tråd

    Forskjellen mellom prosess og tråd

    Hovedforskjell : Tråd og prosess er to nært beslektede uttrykk i multi-threading. Hovedforskjellen mellom de to betingelsene er at trådene er en del av en prosess, det vil si at en prosess kan inneholde en eller flere tråder, men en tråd kan ikke inneholde en prosess. I programmeringen er det to grunnleggende utførelsesenheter: prosesser og tråder. De ut
  • populære sammenligninger: Forskjellen mellom sprø og brennbar

    Forskjellen mellom sprø og brennbar

    Nøkkelforskjell: Skør og brennbar er synonymer. Sprøyte materialer er harde, men lett ødelagte. Tvert imot er skjøre materialer veldig enkelt ødelagte. Sprøyt og skjør er adjektiver og de er de to ordene som ofte skaper forvirring. Ordene gjelder for materialet som bryter lett. Forskjellene er subtile og generelle; de er begge brukt om hverandre. Sprøyt
  • populære sammenligninger: Forskjell mellom oppsigelse og oppsigelse

    Forskjell mellom oppsigelse og oppsigelse

    Hovedforskjell: Oppsigelse er når arbeidstakerne bestemmer seg for å forlate jobben sin. Det er den formelle handlingen å gi opp eller avslutte sitt kontor eller stilling. Oppsigelse er når arbeidsgiveren bryr ansatt. Å ha en jobb er et ansvar for å være voksen. For de fleste voksne er en jobb den eneste inntektskilden de har. Imidl
  • populære sammenligninger: Forskjellen mellom Hyundai i20 Era, Magna, Sportz og Asta

    Forskjellen mellom Hyundai i20 Era, Magna, Sportz og Asta

    Nøkkelforskjell: I20 er en baklukebil designet og utviklet av Hyundai som etterfølger til i10. Hyundai i20 Era, Magna, Sportz og Asta er varianter av bilen. Hyundai i20 er en hatchback bil som er en etterfølger til i10. Det ble kunngjort for publikum på Paris Motor Show og ble lansert i 2008. Bilen er en stor suksess for Hyundai i alle markedene. De
  • populære sammenligninger: Forskjell mellom kakao og kakao

    Forskjell mellom kakao og kakao

    Hovedforskjell: Kakao og kakao er like fordi de begge har samme historie. Begrepene kakao og kakao var opprinnelig utbyttbare; Disse dagene brukes imidlertid annerledes. Kakao brukes til å referere til stekte og bearbeidede bønner, som brukes til å lage kakaopulver og sjokolade. Kakao brukes til å henvise til ubehandlede bønner som fjerner kakaosmør fra frøet og opprettholder næringsstoffene til bønnene. Begrepe
  • populære sammenligninger: Forskjell mellom stat og eiendom

    Forskjell mellom stat og eiendom

    Nøkkelfaktor: En stat er en territorielt bundet politisk enhet med sentraliserte institusjoner for forvaltning av styresett, mens en eiendom kan defineres av alle eiendeler til en person til enhver tid. Å skille mellom de to er svært vanskelig som staten refererer til en rekke ting, for eksempel kan en stat referere til en tilstand på et bestemt tidspunkt eller et organisert fellesskap under en regjering. På
  • populære sammenligninger: Forskjell mellom sukker og konditori 'sukker

    Forskjell mellom sukker og konditori 'sukker

    Hovedforskjell: Bordsukker, granulert sukker eller hvitt sukker er det normale raffinerte sukker som vi kjøper i supermarkedet. Confectioners 'sukker, også kjent som pulverisert sukker eller florsukker, er veldig fint pulverisert sukker. Det er forskjellig fra normalt hvitt sukker bare på denne måten. De

Redaksjonens

Forskjellen mellom vannrenser og vannmykner

Hovedforskjell: En vannrenser er en enhet som fjerner støvpartikler, tungmetaller, klor og andre inneslutninger. Et vannavkjøler er hovedsakelig en type filter som fjerner kalsium og magnesium fra vannet for å produsere mykt vann. I mennesker er vann ansvarlig for å utføre og hjelpe i en rekke kroppsfunksjoner, og derfor bør de sørge for at de drikker vann i tilstrekkelige mengder hver dag. Neste