Junior — Middle
Vysvětlete, co znamená používání rekurzivních funkcí v programování a jak fungují.
sobes.tech AI
Odpověď od AI
Rekurzivní funkce je funkce, která volá sama sebe za účelem řešení úkolu. V programování se rekurze používá k rozdělení složitého úkolu na jednodušší podúkoly stejného typu.
Princip fungování:
- Funkce volá sama sebe s upraveným argumentem, čímž přibližuje řešení k základnímu případu.
- Základní případ je podmínka, při níž rekurze končí, aby se zabránilo nekonečným voláním.
Příklad v Go — výpočet faktoriálu čísla:
package main
import "fmt"
func factorial(n int) int {
if n == 0 {
return 1 // základní případ
}
return n * factorial(n-1) // rekurzivní volání
}
func main() {
fmt.Println(factorial(5)) // 120
}
Rekurze je užitečná při práci s stromy, grafy, rozdělení úkolů, ale vyžaduje opatrnost, aby nedošlo k přetečení zásobníku.