Sobes.tech
Junior

Mi az a rekurzív viselkedés?

sobes.tech MI

Válasz az MI-től

Kód vagy függvények végrehajtása, amelyek saját magukat hívják.

Fő elemek:

  • Alapeset: Az a feltétel, amikor a rekurzió megáll. Nélküle a rekurzió végtelen lenne.
  • Rekurzív eset: A függvény azon része, ahol saját magát hívja, általában módosított argumentummal.

Példa (szorozat számítása):

func factorial(_ n: Int) -> Int {
    // Alapeset
    if n <= 1 {
        return 1
    }
    // Rekurzív eset
    return n * factorial(n - 1)
}
// Példa hívás
let result = factorial(5) // 120

Előnyök:

  • Elegáns megoldás olyan problémákra, amelyek önhasonló szerkezetűek (pl. fák bejárása).
  • Néhány esetben olvashatóbb kód.

Hátrányok:

  • Sok memóriát fogyaszthat (hívási verem).
  • Túlságosan mély rekurzió esetén stack overflow fordulhat elő.
  • Néha kevésbé hatékony, mint az iteratív megoldások.