Hjem Personlig finansiering En smak av rekursjon - dummier

En smak av rekursjon - dummier

Video: Week 0 2025

Video: Week 0 2025
Anonim

Rekursjon er et stort, skummelt ord som du ofte hører om programmering, spesielt den frustrerende typen programmering de lærer på universitetet. Selv om det er et enkelt konsept å beskrive, er det virkelig en tankegang når det gjelder å forstå hvordan rekursjonen fungerer. De fleste folk aksepterer bare det og fortsetter. Ikke her!

Rekursjon er i utgangspunktet prosessen med en funksjon som kaller seg. For eksempel:

ugyldig funksjon (int x) {funct (x);}

I dette stykket kode ser du et forferdelig eksempel på en rekursiv funksjon, men det tjener illustrative formål her: Funct () funksjonen kaller seg selv. Det er rekursjon. Nå er det som skjer i dette eksemplet i utgangspunktet en endeløs sløyfe, og takket være en teknisk noe-eller-annen, kalt stack pointe r , , krasjer datamaskinen til slutt. Men det er bare en illustrasjon.

For rekursjon til arbeid, må funksjonen ha en bailout-tilstand, akkurat som en løkke. Derfor må verdien som sendes til den rekursive funksjonen eller returverdien, testes. Her er et bedre eksempel på en rekursiv funksjon:

ugyldig rekursjon (int x) {if (x == 0) returnere; ellers {setter ("Boop!"); rekursjon (- x);}}

Rekursjonen () -funksjonen godtar verdien x . Hvis x er lik null, bøyer funksjonen. Ellers kalles funksjonen igjen, men verdien på x er redusert. Forbedringsprefiksoperatøren brukes slik at verdien på x er redusert før samtalen blir gjort.

Eksempelrekursjon () -funksjonen spretter i utgangspunktet ut teksten Boop! et gitt antall ganger. Så hvis rekursjon () kalles med verdien 10, ser du at teksten vises ti ganger.

Den vanvittige delen om rekursjon er at funksjonen fortsetter å kalle seg, pakker seg tettere og strammere, som om den er i en spiral. I det foregående eksempel slipper tilstanden x == 1 endelig det vridne rotet, og drar stadig tilbake til funksjonen er ferdig.

Følgende kode viser et fullt program ved hjelp av sample recursion () -funksjonen.

#include void recursion (int x); int main () {rekursjon (10); returnere (0);} ugyldig rekursjon (int x) {hvis (x == 0) returnere; ellers {setter ("Boop!"); rekursjon (- x);}}

En vanlig demonstrasjon av rekursjon er en faktorfunksjon. faktorial er resultatet av å multiplisere en verdi ved hvert av sine positive heltal. For eksempel:

4! = 4 × 3 × 2 × 1

Resultatet av denne faktoren er 24. Datamaskinen kan også gjøre denne beregningen ved å enten implementere en sløyfe eller opprette en rekursiv funksjon.Her er en slik funksjon:

int faktorial (int x) {hvis (x == 1) returnere (x); ellers returnere (x * factorial (x-1));}

Som med de andre rekursive funksjonene inneholder funksjonen factorial () en utgangstilstand: x == 1. Ellers kalles funksjonen igjen med en mindre enn gjeldende verdi på x . Men all handlingen foregår med returverdiene.

En smak av rekursjon - dummier

Redaktørens valg

Hvordan beskrives et datasett statistisk for GEDs vitenskapstest - dummies

Hvordan beskrives et datasett statistisk for GEDs vitenskapstest - dummies

GED Science test vil stille spørsmål relatert til beskrivende statistikk. Du kan ofte oppsummere en samling av data (fra et eksperiment, observasjoner eller undersøkelser, for eksempel) ved å bruke beskrivende statistikk, tall som brukes til å oppsummere og analysere dataene og trekke konklusjoner fra det. Beskrivende statistikk for en samling av data inkluderer følgende: Frekvens: ...

Hvordan forutsi en utgang basert på data eller bevis på GED-vitenskapstesten

Hvordan forutsi en utgang basert på data eller bevis på GED-vitenskapstesten

Bruk av bevis for å forutsi utfall er en nødvendig ferdighet for GED Science-testen. De største fordelene med vitenskapelige studier kan ofte tilskrives det faktum at deres konklusjoner gjør det mulig for folk å forutsi utfall. (Du vil sikkert ønske vitenskap kan hjelpe deg med å forutsi utfallet ditt på prøve!) Du er vitne til vitenskap i handling hver dag ...

Hvordan man måler en forfatters troverdighet for GEDs samfunnsstudietest - dummies

Hvordan man måler en forfatters troverdighet for GEDs samfunnsstudietest - dummies

GED Social Studies test vil stille spørsmål som krever at du bestemmer troverdigheten til en forfatter. Det er ikke alltid lett å vurdere om en forfatter er troverdig basert på informasjonen som er gitt i en skriftlig oversikt og referansen, men du kan hente spor ved å nøye undersøke følgende områder: Forfatterens ...

Redaktørens valg

Hva skjer i QuickBooks 2013 Setup? - dummies

Hva skjer i QuickBooks 2013 Setup? - dummies

Etter at du har installert QuickBooks 2013, kjører du en skjermveiviser for å sette opp QuickBooks for firmaets regnskap. Klart, denne skjermveiviseren kalles QuickBooks Setup. Når du kjører QuickBooks Setup, gir du ganske mye informasjon til QuickBooks. Som en praktisk sak krever oppsettet og oppsettet etter oppsettet at du har ...

Leverandørmenykommandoer i QuickBooks 2013 - dummies

Leverandørmenykommandoer i QuickBooks 2013 - dummies

Når du jobber med betalbar betaling i QuickBooks 2013, har du ofte vil bruke flere av kommandoene på leverandørmenyen. Noen av kommandoene er imidlertid ikke så populære, men du må fortsatt være klar over deres formål. Leverandørssenter i QuickBooks 2013 Vendor Center-vinduet viser en liste over leverandører og detaljerte ...

Kommandoer for leverandørmeny i QuickBooks 2014 - dummies

Kommandoer for leverandørmeny i QuickBooks 2014 - dummies

Når du jobber med betalbar betaling i QuickBooks 2014, har du ofte vil bruke flere av kommandoene på leverandørmenyen. Noen av kommandoene er imidlertid ikke så populære, men du må fortsatt være klar over deres formål. Leverandørssenter Vendor Center-vinduet viser en liste over leverandører og detaljert leverandørinformasjon for ...