Sobes.tech
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.