Kada turėčiau naudoti rekursiją? Rekursija yra skirta problemoms, kurias galima suskirstyti į mažesnes, pasikartojančias problemas, spręsti. Tai ypač tinka dirbant su dalykais, kurie turi daug galimų atšakų ir yra per sudėtingi iteraciniam požiūriui. Vienas geras pavyzdys būtų paieška failų sistemoje.
Ar rekursija yra geras dalykas?
Rekursija yra naudinga technika, leidžianti kodą padaryti trumpą ir suprantamą. Tačiau jis yra mažiau našus ir sukuria krūvos perpildymo išimtis ne uodegos iškvietimui optimizuotomis kalbomis. Atidžiai išnagrinėkite naudojimo atvejį, kai pasirenkate rekursines ir iteracines funkcijas.
Kokia rekursijos nauda?
- Rekursija gali sumažinti laiko sudėtingumą. …
- Rekursija suteikia daugiau aiškumo ir sumažina kodo rašymo ir derinimo laiką. …
- Rekursija geriau pereinant medžius. …
- Rekursija gali būti lėta. …
- Iteracija: funkcija kartoja apibrėžtą procesą, kol sąlyga nepavyksta.
Kada turėtume vengti rekursijos?
Todėl rekursijos apskritai reikėtų vengti ir naudoti tik gerai apgalvojus ir atsargiai, kai tai tikrai būtina. Ši taisyklė tikrina, ar nėra tiesioginės rekursijos (kai funkcija išsikviečia pati).
Kada turėtume naudoti iteracinį, o kada rekursinį?
Jei pagrindinis dėmesys skiriamas laiko sudėtingumui, o rekursinių skambučių skaičius būtų didelis, geriau naudotiiteracija. Tačiau, jei laiko sudėtingumas nėra problema, o kodas yra trumpas, geriausia būtų naudoti rekursiją.