Što je rekurzivno?

U računalnom programiranju, izraz rekurzivno opisuje funkciju ili metodu koja opetovano izračunava manji dio sebe kako bi došao do konačnog rezultata. On je sličan iteraciji, ali umjesto ponavljanja skupa operacija, rekurzivna funkcija ostvaruje ponavljanje pozivajući se na sebe u svojoj vlastitoj definiciji. Iako se koncept rekurzivnog programiranja u početku teško može shvatiti, ovladavanje njime može biti vrlo korisno. Rekurzija je jedan od temeljnih alata računalne znanosti.

Klasičan primjer je rekurzivna metoda za izračun faktorijala broja. Faktorijalni broj cijeli broj n, koji je napisan kao n!, je rezultat množenja n sa svim pozitivnim brojevima manjim od n. Na primjer, 3! = 3 x 2 x 1, što rezultira 6 i 4! = 4 x 3 x 2 x 1, što rezultira u 24. Učinkovit način za izračun faktorijala je pomoću rekurzivne funkcije.

U nastavku je primjer rekurzivne faktorske funkcije zapisane u JavaScriptu.

funkcijska funkcija (n) {

povratak (n === 0)? 1: n * faktorijal (n-1);

}

Kao što možete vidjeti, dio definicije funkcijskog faktora je rezultat faktorijala izvedenog na manjem cijelom broju. Nazivajući sebe, može pomnožiti broj sa svakim pozitivnim brojem manje od njega i zatim vratiti konačni rezultat. Rekurzivne funkcije mogu biti korisne u drugim izračunima, poput izračunavanja Fibonaccijevih brojeva ili najvećeg zajedničkog djelitelja.

Korištenje rekurzivne logike može imati neke padove, uključujući i stvaranje beskonačne petlje u programiranju. Iz tog razloga, osiguravanje uvjeta za bijeg (kao što je činiti do) u programiranju pomaže smanjiti, ako ne i eliminirati, mogućnost nastajanja beskonačne petlje. Ako dođe do beskonačne petlje, program može koristiti puno memorije na računalu i može uzrokovati prestanak rada programa, operacijskog sustava ili računala.

Escape, Function, Loop, programski uvjeti