Kas yra rekursyvus?

Kompiuterių programavimo metu terminas „ rekursinis“ apibūdina funkciją ar metodą, kuris pakartotinai apskaičiuoja pačią mažesnę dalį, kad pasiektų galutinį rezultatą. Jis yra panašus į iteraciją, bet, o ne kartoti operacijų rinkinį, rekursinė funkcija atlieka pasikartojimą, nurodydama save savo apibrėžime. Nors iš pradžių gali būti sunku suvokti rekursinio programavimo sąvoką, jos įvaldymas gali būti labai naudingas. Rekursija yra viena iš pagrindinių kompiuterių mokslo priemonių.

Klasikinis pavyzdys yra rekursinis metodas skaičiuoti skaičiaus faktorių. Viso skaičiaus n, kuris parašytas kaip n!, yra padauginus n iš visų teigiamų sveikųjų skaičių, mažesnį nei n. Pavyzdžiui, 3! = 3 x 2 x 1, todėl 6 ir 4! = 4 x 3 x 2 x 1, todėl rezultatas 24. Efektyvus faktoriaus apskaičiavimo būdas yra naudojant rekursinę funkciją.

Žemiau pateikiamas rekursinio faktoriaus funkcijos, parašytos „JavaScript“, pavyzdys.

funkcijos faktorius (n) {

grįžti (n === 0)? 1: n * faktorius (n-1);

}

Kaip matote, dalis funkcijų faktoriaus apibrėžimo yra faktoriumi, atliktu mažesniame sveikuoju skaičiumi. Skambindamas pats, jis gali padauginti skaičių kiekvienu teigiamu skaičiumi mažiau nei jis ir tada grąžina galutinį rezultatą. Rekursyvios funkcijos gali būti naudingos kituose skaičiavimuose, pavyzdžiui, apskaičiuojant Fibonacci numerius arba didžiausią bendrą daliklį.

Rekurcinės logikos naudojimas gali turėti tam tikrą sumažėjimą, įskaitant begalinės kilpos kūrimą programuojant. Dėl šios priežasties, užtikrinant, kad programavimo metu yra pabėgimo sąlyga (pvz., Daryti), padeda sumažinti, jei ne pašalinti, begalinės kilpos atsiradimo galimybę. Jei įvyksta begalinis ciklas, programa gali sukelti daug atminties kompiuteryje, todėl programa, operacinė sistema ar kompiuteris gali nebeveikti.

Escape, Function, Loop, Programavimo sąlygos