Š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.
sadržaj
Što je općenito "rekurzija"?
Riječ "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?
Rekurzivne 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
Što je "stablo" u programiranju? Ovo je konačan skup koji se sastoji od najmanje jednog čvora koji:
- Ima početni poseban čvor, koji se naziva korijenom cijelog stabla.
- 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?
Njezina 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?
Za 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.
- Objektno orijentirano programiranje
- Modularno programiranje
- Strukturirana programiranje
- Okrugli brojevi u WEB 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…
- "Što je" došlo na stog, "da se" vratilo: apstraktni temelj stvarnosti
- PHP: zadnji element. Raspored u dinamici
- Što je čimbenik? Posebni slučajevi uporabe
- Što je?
- Varijabla u programiranju u potpunosti je obilježena time što?
- Ciljno zakonodavstvo: princip kontinuiteta
- Upotreba indeksa (jаvascript) prilikom rada s nizovima i nizovima
- Učinkovito korištenje inteligentnih kartica
- Rekurzivni algoritam: opis, analiza, značajke i primjeri
- "Intelektualni sustavi u humanitarnoj sferi": sadržaj discipline i područje primjene…
- Zlatni odjeljak u arhitekturi
- Koji predmeti trebam poduzeti za programera, kako se uspješno pripremiti za ispite
- Dinamičko programiranje, osnovna načela
- Način Homori. Rješavanje problema s programom cijelih brojeva
- Popularne metode grupiranja elemenata polja: sortiranje umetanjem i korištenjem ključa