Što je rekurzija? Rekurzija u programiranju (primjeri)

Rekurzije su zanimljiva događanja u sebi, ali u programiranju su od posebne važnosti u pojedinim 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 jeRiječ "rekurzija" ima čitav niz vrijednosti, koji ovise o području na 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 pascalRekurzivne situacije, ili rekurzija u programiranju, trenutke su 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 pomoć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 čitatelj koji je pročitao ove retke proučavao programske cikluse, vjerojatno je već primijetio sličnost između njih i rekurziju. 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: drveće 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 rekurzijeNjezina upotreba rekurzije u programiranju pronašla je rješenje za niz 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č općoj provedbenoj shemi i specifičnoj primjeni u svakom pojedinom 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 rekurzijeZa početnike da to shvate, u početku može biti teško, 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.

Dijelite na društvenim mrežama:

Povezan
Modularno programiranjeModularno programiranje
Strukturirana programiranjeStrukturirana programiranje
Okrugli brojevi u WEB programiranjuOkrugli brojevi u WEB programiranju
Što je to encapsulation? Inkapsuliranje u programiranjuŠto je to encapsulation? Inkapsuliranje u programiranju
Sažetak klasa i metoda: opis, karakteristike i značajke. Koja je razlika između apstraktne klase i…Sažetak klasa i metoda: opis, karakteristike i značajke. Koja je razlika između apstraktne klase i…
"Što je" došlo na stog, "da se" vratilo: apstraktni temelj stvarnosti"Što je" došlo na stog, "da se" vratilo: apstraktni temelj stvarnosti
PHP: zadnji element. Raspored u dinamiciPHP: zadnji element. Raspored u dinamici
Što je čimbenik? Posebni slučajevi uporabeŠto je čimbenik? Posebni slučajevi uporabe
Što je?Što je?
Varijabla u programiranju u potpunosti je obilježena time što?Varijabla u programiranju u potpunosti je obilježena time što?
» » Što je rekurzija? Rekurzija u programiranju (primjeri)
LiveInternet