Sobes.tech
Junior — Middle

Objasnite šta znači korišćenje rekurzivnih funkcija u programiranju i kako one funkcionišu.

sobes.tech АИ

Одговор од АИ

Rekurzivna funkcija je funkcija koja poziva samu sebe radi rešavanja zadatka. U programiranju, rekurzija se koristi za deljenje složenog zadatka na jednostavnije podzadatke istog tipa.

Princip rada:

  • Funkcija poziva samu sebe sa izmenjenim argumentom, približavajući rešenje osnovnom slučaju.
  • Osnovni slučaj je uslov pod kojim se rekurzija završava, kako bi se izbegli beskonačni pozivi.

Primer u Go — računanje faktoriala broja:

package main
import "fmt"

func factorial(n int) int {
    if n == 0 {
        return 1 // osnovni slučaj
    }
    return n * factorial(n-1) // rekurzivni poziv
}

func main() {
    fmt.Println(factorial(5)) // 120
}

Rekurzija je korisna za rad sa stablima, grafovima, deljenjem zadataka, ali zahteva oprez da se ne izazove prelivanje steka.