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.