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.