/ / Rekursjon er hva? Rekursjon i programmering (eksempler)

Rekursjon er hva? Rekursjon i programmering (eksempler)

Rekursjoner er interessante hendelser av seg selv.seg selv, men i programmering er de av særlig betydning i enkelte tilfeller. For første gang de støter på dem, har ganske mange mennesker problemer med forståelsen. Dette skyldes det store feltet av potensiell anvendelse av begrepet selv, avhengig av konteksten der "rekursjon" brukes. Men man kan håpe at denne artikkelen vil bidra til å unngå en mulig misforståelse eller misforståelse.

Hva er "rekursjon" generelt?

rekursjon er
Ordet "rekursjon" har en rekke betydninger,som avhenger av området der det blir brukt. Den universelle notasjonen er dette: rekursjoner er definisjoner, bilder, beskrivelser av objekter eller prosesser i objektene selv. De er bare mulig i de tilfellene når objektet er en del av seg selv. På egen måte definerer matematikk, fysikk, programmering og en rekke andre vitenskapelige disipliner rekursjon. Praktisk søknad, fant hun i arbeidet med informasjonssystemer og fysiske eksperimenter.

Hva mener du med rekursjon i programmering?

rekursjon i pascal
Rekursive situasjoner, eller rekursjon iprogrammering, kalles øyeblikkene når prosedyren eller funksjonen til programmet kaller seg selv. Så rart som det kan virke for de som begynte å lære programmering, høres det ikke rart ut. Husk at rekursjon ikke er vanskelig, og i noen tilfeller erstatter de sykluser. Hvis datamaskinen riktig tilordner en prosedyre eller funksjonsanrop, begynner den bare å utføre den.

Rekursjonen kan være endelig eller uendelig. For at de førstnevnte skal slutte å kalle seg, må det også være vilkår for oppsigelse. Dette kan være en reduksjon i verdien av variabelen, og når en bestemt verdi er nådd, ring stopp og programavslutning / overgang til den påfølgende koden, avhengig av behovet for å oppnå bestemte mål. Ved uendelig rekursjon menes det at det vil bli kalt mens datamaskinen eller programmet der det kjører, kjører.

Det er også mulig å organisere komplekse rekursjon medbruker to funksjoner. Anta at det er A og B. A har en funksjon i koden din oppfordring til B, og B, i sin tur, peker på behovet for en datamaskin å utføre en kompleks A. rekursjon - en vei ut av en kompleks serie av logiske situasjoner for datamaskinen logikk.

Hvis leseren har studert disse programmenesykluser, har han sannsynligvis allerede lagt merke til likheten mellom dem og rekursjon. Generelt kan de faktisk utføre lignende eller identiske oppgaver. Ved hjelp av rekursjon er det praktisk å gjøre imitasjon av arbeids syklusen. Dette er spesielt nyttig der syklene selv ikke er veldig praktiske å bruke. Ordningen med programvareimplementering avviger ikke mye i forskjellige programmeringsspråkemål på høyt nivå. Men likevel har rekursjon i "Pascal" og rekursjon i C eller et annet språk sine egne egenskaper. Det kan vellykkes implementeres på lavnivå språk som "Assembler", men dette er mer problematisk og tidkrevende.

Rekursjon trær

rekursjon i programmering
Hva er et "tre" i programmeringen? Dette er et endelig sett bestående av minst en node som:

  1. Den har en innledende spesialknut, som kalles roten til hele treet.
  2. De resterende noder er i et annet tall enn null, parvis ujevn undergrupper, mens de også er et tre. Alle slike former for organisasjon kalles subtreer av hovedtræret.

Med andre ord: Trær inneholder subtre som inneholder flere trær, men i mindre mengder enn forrige tre. Dette fortsetter til en av noder er igjen med mulighet til å gå videre, og dette vil markere slutten av rekursjonen. Det er en ny nyanse om skjematisk diagram: Vanlige trær vokser fra bunnen, og i programmering trekkes de motsatt. Noder som ikke har en fortsettelse kalles sluttnoder. For enkelhets skyld betegnelse og for enkelhets skyld brukes genealogisk terminologi (forfedre, barn).

Hvorfor brukes det til programmering?

funksjon rekursjon
Dens bruk av rekursjon i programmering har funneti å løse en rekke komplekse oppgaver. Hvis du bare trenger å ringe én samtale, er det enklere å bruke integrasjonssyklusen, men med to eller flere repetisjoner, for å unngå å bygge en kjede og få dem til å løpe som et tre, og rekursive situasjoner blir brukt. For en rekke klasser av oppgaver er organisasjonen av beregningsprosessen på denne måten den mest optimale fra ressursforbruket. Således er rekursjon i Pascal eller et hvilket som helst annet høyt programmeringsspråk et anrop til en funksjon eller prosedyre til betingelsene er oppfylt, uavhengig av antall eksterne samtaler. Med andre ord, det kan bare være ett anrop til delprogrammet i programmet, men det vil skje til et forutbestemt punkt. På noen måter er det en analog av en syklus med sin egen spesifikke bruk.

Forskjeller rekursjon i forskjellige programmeringsspråk

Til tross for den generelle planen for implementering og spesifikkSøknad i hvert tilfelle, rekursjon i programmering har sine egne egenskaper. Dette kan føre til vanskeligheter med å finne riktig materiale. Men du bør alltid huske: Hvis et programmeringsspråk kaller funksjoner eller prosedyrer, er anropet til rekursjon mulig. Men de viktigste forskjellene vises når man bruker lave og høye programmeringsspråk. Dette gjelder spesielt mulighetene for programvareimplementering. Utførelsen avhenger avhengig av hvilken oppgave som er satt, rekursjonen er skrevet i samsvar med den. Funksjonene og prosedyrene som brukes er forskjellige, men deres mål er alltid det samme - for å få dem til å kalle seg selv.

Rekursjon er enkelt. Hvordan bare huske innholdet i artikkelen?

rekursjonseksempler
For nybegynnere å forstå det, kanskje førstvanskelig, derfor trenger eksempler på rekursjon, eller minst en. Derfor bør du gi et lite eksempel fra hverdagen, noe som vil bidra til å forstå essensen av denne mekanismen for å oppnå mål i programmeringen. Ta to eller flere speil, legg dem slik at alle de andre vises i ett. Du kan se at speilene viser seg gjentatte ganger, og skaper en virkning av uendelig. Her rekursjoner er, figurativt sett refleksjoner (det vil være mange av dem). Som du kan se, er det lett å forstå, det ville være et ønske. Og å studere materialene på programmering, så kan du forstå at rekursjon er også en veldig enkel oppgave.

Les mer: