Što je rekurzija? Rekurzija u programiranju (primjeri)

Rekurzije su zanimljivi događaji sami.sami, ali u programiranju su od posebnog značaja u pojedinačnim slučajevima. Prvi put kad im se susreću, veći broj ljudi ima problema s njihovim razumijevanjem. To je zbog ogromnog polja potencijalne primjene samog pojma, ovisno o kontekstu u kojem se koristi "rekurzija". Ali se može nadati da će ovaj članak pomoći u izbjegavanju mogućeg nesporazuma ili nesporazuma.

Što je općenito "rekurzija"?

rekurzija je
Riječ "rekurzija" ima čitav niz značenja,koji ovise o području u kojem se primjenjuje. Univerzalna notacija je ovo: rekurzije su definicije, slike, opisi objekata ili procesa samih objekata. Moguće su samo u onim slučajevima kada je objekt dio nje. Na svoj način matematika, fizika, programiranje i niz drugih znanstvenih disciplina definiraju rekurziju. Praktična primjena, pronašla je u radu informacijskih sustava i fizičkih eksperimenata.

Kako to misliš rekurzijom u programiranju?

rekurzija u pascal
Rekurzivne situacije, ili rekurzije uprogramiranje, zovu se trenuci kada se postupak ili funkcija programa zove. Čudno kao što se čini za one koji su počeli učiti programiranje, ne zvuči čudno. Ne zaboravite da rekurzija nije teška, au nekim slučajevima zamjenjuju cikluse. Ako računalo ispravno dodjeljuje postupak ili funkciju, jednostavno započinje s izvršavanjem.

Rekurzija može biti konačna ili beskonačna. Da bivša prestane zazivati, moraju postojati uvjeti za prestanak. To može biti smanjenje vrijednosti varijable, a kada se postigne određena vrijednost, prekid poziva i prekid programa / prijelaz na sljedeći kôd, ovisno o potrebama za postizanjem određenih ciljeva. Do beskonačne rekurzije, podrazumijeva se da će se zvati dok je računalo ili program u kojem se izvodi radi.

Također je moguće organizirati složene rekurzije spomoću dvije funkcije. Recimo da postoje A i B. Funkcija ima poziv u svom kodu B, a B zauzvrat govori da računalo obavlja A. Složene rekurzije su izlaz iz niza složenih logičkih situacija za računalnu logiku.

Ako čitač čita programciklusa, vjerojatno je već primijetio sličnost između njih i rekurzije. Općenito, oni mogu obavljati slične ili identične zadatke. Uz pomoć rekurzije pogodno je napraviti oponašanje djela ciklusa. Ovo je osobito korisno kada sami ciklusi nisu vrlo prikladni. Shema implementacije softvera se ne razlikuje mnogo od različitih jezika za programiranje na visokoj razini. Ipak, rekurzija u "Pascalu" i rekurzija u C ili na nekom drugom jeziku imaju svoje osobitosti. Može se uspješno implementirati na jezicima niske razine kao što je Assembler, ali to je više problematično i dugotrajno.

Stabla rekurzije

rekurzija u programiranju
Što je "stablo" u programiranju? Ovo je konačan skup koji se sastoji od najmanje jednog čvora koji:

  1. Ima početni poseban čvor, koji se naziva korijenom cijelog stabla.
  2. Preostali čvorovi su u količini različitoj od nulte, podijeljene parove u paru, a također su stablo. Svi takvi oblici organizacije nazivaju se podrazredima glavnog stabla.

Drugim riječima:Stabla sadrže podpune koje sadrže stabla, ali u manjoj količini od prethodnog stabla. To se nastavlja sve dok jedan od čvorova nema priliku krenuti naprijed, a to će ukazivati ​​na kraj rekurzije. Postoji još jedna nijansa o shematskoj slici: obična stabla rastu odozdo prema gore, a programiraju ih unatrag. Čvorovi koji nemaju proširenje nazivaju se krajnji čvorovi. Radi lakšeg označavanja i praktičnosti koristit će se genealoška terminologija (preci, djeca).

Zašto se koristi u programiranju?

funkcija rekurzije
Pronađena je njena upotreba rekurzije u programiranjuu rješavanju brojnih složenih problema. Ako trebate samo jedan poziv, lakše je upotrijebiti ciklus integracije, ali s dva ili više ponavljanja, da biste izbjegli izradu lanca i izvršili ih kao stablo, a primjenjuju se rekurzivne situacije. Za široku klasu problema organizacija računalnog procesa na taj način je najoptimalniji s gledišta potrošnje resursa. Dakle, rekurzija u Pascalu ili bilo kojem drugom visokom programskom jeziku je funkcija ili postupak poziva prije ispunjenja uvjeta, bez obzira na broj vanjskih poziva. Drugim riječima, u programu može postojati samo jedan pristup potprogramu, no to će se dogoditi do određenog trenutka unaprijed. Na neki način, to je analogni ciklus s vlastitom specifičnom uporabom.

Razlike rekurzije na različitim programskim jezicima

Unatoč cjelokupnoj provedbenoj shemi i specifičnojprimjena u svakom slučaju, rekurzija u programiranju ima svoje osobine. To može dovesti do poteškoća prilikom traženja potrebnog materijala. No, trebali bismo uvijek zapamtiti: ako programski jezik naziva funkcije ili postupke, tada je rekurzivni poziv praktična stvar. Ali njegove najznačajnije razlike se očituju pri korištenju niskih i visokih programskih jezika. Posebice se tiču ​​mogućnosti implementacije softvera. Izvršenje u konačnici ovisi o tome koji je zadatak postavljen, u skladu s njim, zapisano je rekurzija. Funkcije i postupci se koriste drugačije, ali njihov cilj je uvijek isti - prisiliti se da se same nazivaju.

Rekurzija je jednostavna. Kako jednostavno zapamtiti sadržaj članka?

primjeri rekurzije
Za početnike da to shvate, možda u početkuTeško je stoga trebamo primjere rekurzije ili barem jednog. Stoga trebamo dati mali primjer iz svakodnevnog života, koji će pomoći da shvatimo samu bit ovog mehanizma postizanja ciljeva u programiranju. Uzmite dva ili više zrcala, postavite ih tako da se svi ostali prikazuju u jednom. Vidite da se ogledala opetovano prikazuju, stvarajući učinak beskonačnosti. Ovdje rekurzije su, figurativno, refleksije (mnoge od njih). Kao što možete vidjeti, lako je razumjeti, postojala bi želja. I proučavanjem programskih materijala možete dodatno shvatiti da je rekurzija također vrlo jednostavan zadatak.