DatamaskinerProgrammering

Rekursjon - hva er dette? Rekursjon programmering (eksempler)

Rekursjon er interessante hendelser i seg selv, men de er i programmering særlig betydning i noen tilfeller. For første gang konfrontert med dem, et ganske stort antall mennesker har med sin forståelse av problemet. Dette skyldes et stort felt av potensiell bruk av begrepet, avhengig av i hvilken sammenheng den "rekursjon" brukes. Men det er å håpe at denne artikkelen vil bidra til å unngå mulige misforståelser og forvirring.

Hva er "rekursjon" i sin alminnelighet?

Ordet "recursion" har et område av verdier som er avhengig av det område hvor den er påført. Universal betegnelse er som følger: rekursjon - dette definition bilder, beskrivelser av objekter eller prosesser i objektene selv. de er bare mulig i tilfeller hvor objektet er en del av seg selv. På sin egen måte definerer det rekursive matematikk, fysikk, programmering, og en rekke andre vitenskapelige disipliner. Den praktiske anvendelsen er funnet i informasjonssystemer og fysiske eksperimenter.

Hva menes med rekursjon i programmering?

Rekursive situasjoner eller rekursjon i programmering, kalles de øyeblikkene når prosedyren eller program funksjon kaller seg. Så rart for de som har begynt å lære programmering, da dette kan høres, er det ikke noe rart med det. Husk at rekursjonen - det er ikke vanskelig, og i noen tilfeller de erstatter sykluser. Hvis datamaskinen riktig innstilt kalle en prosedyre eller funksjon, han bare begynner å bære henne.

Rekursjon kan være begrenset eller ubegrenset. Å først stoppet seg selv årsak, bør det også være vilkår for oppsigelse. Dette verdifall kan være variabel, og når den når en viss verdi, og stoppe samtalen ferdigstillelse software / overgang til den påfølgende kode, avhengig av behov for å oppnå visse mål. Ved uendelig rekursjon innebærer at det vil bli kalt, vil fungere så lenge en datamaskin eller et program der den opererer.

Det er også mulig organisasjonen vanskelig rekursjonen ved hjelp av 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 av disse linjene studert programmering sykluser, er det sannsynligvis allerede lagt merke til likhetene mellom dem og rekursjon. Generelt kan de faktisk utfører lignende eller identiske oppgaver. Med hjelp av rekursjon er praktisk å gjøre simulering arbeidssyklus. Dette er særlig nyttig der sykluser seg til bruk er de ikke særlig praktisk. Kjøring programvare implementering er ikke veldig forskjellig i ulike høyt nivå programmeringsspråk. Likevel rekursjon i "Pascal" og rekursjon i C eller et annet språk har sine egne særtrekk. Hun kan bli implementert i lavnivå språk som "assembler", men det er mer problematisk og tidkrevende.

trær rekursjon

Hva er et "tre" i programmering? Det er et begrenset sett bestående av minst en node som er:

  1. Har en innledende spesiell node, kalt roten av hele treet.
  2. De øvrige nodene er i en mengde som er forskjellig fra null, atskilte undergrupper, samtidig som de er også et tre. Alle slike former for organisasjon kalt subtreene i hovedtreet.

Med andre ord: trær inneholde undertrær som inneholder flere trær, men i mindre tall enn forrige treet. Dette fortsetter inntil en av nodene vil være mulig å flytte på, og det vil bety slutten av rekursjon. Det er en mer nyansert om diagram: vanlige trær vokser fra bunnen opp, og de er trukket til programmering vice versa. Nettsteder som ikke har noen fortsettelse, kalt endenoder. For enkelhets skyld av notasjon, og for enkel bruk genealogiske terminologi (forfedre, barn).

Hvorfor det brukes i programmering?

Hans bruk av rekursjon i programmering funnet på en rekke kompliserte oppgaver. Hvis du ønsker å gjøre bare en samtale, jo lettere er bruk av integrasjonen syklus, men når to eller flere repetisjoner for å unngå kjeding og gjøre deres implementering i form av et tre, og rekursive situasjoner gjelder. For et bredt klasse av problemer organiseringen av databehandling prosessen på denne måten er den beste når det gjelder ressursbruk. Dermed blir rekursjonen i "Pascal" eller noen annen Høynivåspråk er en funksjon eller prosedyre kallet til forholdene uavhengig av antall eksterne anrop. Med andre ord, kan programmet være bare ett kall til subrutine, men det vil være opp til en viss forhåndsbestemt moment. På noen måter er det en analog sløyfe med sine bruksegenskaper.

Forskjeller rekursjon i ulike programmeringsspråk

Til tross for den generelle diagram av en utførelse og den spesielle anvendelse i hvert enkelt tilfelle, rekursjon i programmering har sine egne særtrekk. Dette kan føre til vanskeligheter i søket etter det nødvendige materiale. Men alltid huske på: Hvis programmeringsspråk er en funksjon eller prosedyre, derfor samtalen rekursjon - det er gjennomførbart. Men de mest signifikante forskjeller oppstå ved bruk av lave og høye programmeringsspråk. Dette gjelder spesielt mulighetene for program gjennomføring. Execution til slutt vil avhenge av om oppgaven er satt i samsvar med det og skrevet rekursjon. Funksjoner og prosedyrer som brukes er forskjellige, men formålet er alltid det samme - gjør kaller seg.

Rekursjon - det er enkelt. Så lett å huske innholdet i artikkelen?

For nybegynnere å forstå det kan være vanskelig i begynnelsen, så du trenger eksempler på rekursjon, eller minst én. Derfor bør du gi et lite eksempel på hverdagslivet, som vil bidra til å forstå essensen av denne mekanismen for å oppnå målene i programmering. Ta to eller flere speil, plassere dem slik at i en enkelt skjerm resten. Det kan sees at speilene reflektere seg selv gjentatte ganger, skaper effekten av uendelig. Her rekursjon - er, billedlig talt, refleksjoner (som er mye). Som du kan se, lett å forstå, ville det ønske. En studie av programmerings materialer, så kan vi se at rekursjon - det er også veldig lett gjennomførbart oppgave.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 no.birmiss.com. Theme powered by WordPress.