Turinys:
Apibrėžimas - ką reiškia rekursinė kilpa?
Sakoma, kad pasikartojanti kilpa įvyko, kai funkcija, modulis ar subjektas nuolat skambina sau, taip sudarydami beveik nesibaigiantį ciklą. Rekursyvūs konstrukcijos yra naudojami keliuose algoritmuose, pavyzdžiui, algoritmas, naudojamas sprendžiant Hanojaus bokšto problemą. Dauguma programavimo kalbų rekursiją įgyvendina leisdami funkcijai sau paskambinti.
Rekursyvinės kilpos taip pat žinomos tiesiog kaip rekursinės.
„Techopedia“ paaiškina rekursinę kilpą
Rekursyvinė kilpa yra speciali kilpos konstrukcijos rūšis, kai tam tikras subjektas bando iškviesti save iš savo kilpos kodo. Taigi subjektas skambina pats, kol nenurodoma konkreti sąlyga ar pertrauka. Rekursyvinės kilpos paprastai įgyvendinamos pasitelkiant rekursinį funkcijos kvietimą, kai pašaukimas į tam tikrą funkciją patenka į pačios funkcijos apibrėžimą.
Programavimo kalbos, galinčios įgyvendinti rekursines kilpas, gali išspręsti problemas, kurioms reikia naudoti kartojamas struktūras, tokias kaip „o“ ir „už“, tik naudojant rekursines kilpas. Taigi rekursinės kilpos gali pakeisti tradicines kilpų konstrukcijas ir kartais yra naudingos kuriant mažiau birų kodą. Tai taip pat supaprastina kodą ir padeda sudėtingesnius kodus suskaidyti į paprastus teiginius.
Kai kurie iš labiausiai paplitusių probleminių rekursinių funkcijų taikymo būdų yra Hanojaus bokštas, e = 1/0 serijų skaičiavimas! +1/1! + 1/2 +…, gcd apskaičiavimas, koeficientas ir pan.
Rekursija taip pat naudojama tais atvejais, kai programuotojas nėra tikras dėl tikslaus duomenų dydžio.
Rekursija skaičiavimo srityje gali būti klasifikuojama į šias rūšis:
- Vienkartinė rekursija
- Daugybė rekursijų
- Netiesioginis pasikartojimas
- Anonimas rekursija
- Struktūrinė rekursija
- Generacinis rekursija
Rekursyvių kilpų naudojimas gali paveikti programos našumą. Rekursyvinės kilpos naudoja atminties krūvas, o kai krūvos užpildytos, kilpa gali baigtis anksčiau nei numatytas pabaigos laikas.
