Satura rādītājs:
Definīcija - ko nozīmē rekursīvā cilpa?
Tiek uzskatīts, ka rekursīvā cilpa ir notikusi, kad funkcija, modulis vai entītija atkārtoti piezvana sev, tādējādi veidojot gandrīz nebeidzamu cilpu. Rekursīvās konstrukcijas tiek izmantotas vairākos algoritmos, piemēram, algoritmā, ko izmanto Hanojas torņa problēmas risināšanai. Lielākā daļa programmēšanas valodu īsteno rekursiju, ļaujot funkcijai sevi piezvanīt.
Rekursīvās cilpas sauc arī par rekursijām.
Techopedia skaidro rekursīvo cilpu
Rekursīvā cilpa ir īpaša veida cilpas konstrukcija, kurā konkrēta entītija mēģina piesaukt sevi no sava cilpas koda. Tādējādi entītija turpina sevi piezvanīt, līdz tiek noteikts īpašs nosacījums vai pārtraukums. Rekursīvās cilpas parasti tiek ieviestas ar rekursīvas funkcijas zvana palīdzību, kur pašas funkcijas definīcijā tiek veikts zvans uz noteiktu funkciju.
Programmēšanas valodas, kas spēj ieviest rekursīvas cilpas, var atrisināt problēmas, kurām nepieciešama iteratīvu struktūru izmantošana, piemēram, "kamēr" un "par", izmantojot tikai rekursīvas cilpas. Tādējādi rekursīvās cilpas var aizstāt tradicionālās cilpu konstrukcijas un dažreiz ir noderīgas, veidojot mazāk apjomīgu kodu. Tas arī vienkāršo kodu un palīdz sarežģītos kodus sadalīt vienkāršos paziņojumos.
Daži no visbiežāk sastopamajiem rekurējošo funkciju pielietojumiem ir Hanojas tornis, sērijas aprēķins e = 1/0! +1/1! + 1/2 +…, gcd aprēķināšana, koeficienta aprēķins utt.
Rekursija tiek izmantota arī gadījumos, kad programmētājs nav pārliecināts par precīzu datu lielumu.
Rekursiju skaitļošanā var klasificēt šādos veidos:
- Viena rekursija
- Vairāki atkārtojumi
- Netieša atkārtošanās
- Anonīma rekursija
- Strukturālā rekursija
- Ģeneratīvā rekursija
Rekursīvo cilpu izmantošana var ietekmēt programmas veiktspēju. Rekursīvās cilpas izmanto atmiņas kaudzes, un, kad kaudzes ir pilnas, cilpa var beigties pirms paredzētā beigu laika.
