Sobes.tech
Junior

Čo je to rekurzívne správanie?

sobes.tech AI

Odpoveď od AI

Vykonávanie kódu alebo funkcií, ktoré sa volajú samy.

Hlavné prvky:

  • Základný prípad: Podmienka, pri ktorej sa rekurzia zastaví. Bez nej by bola rekurzia nekonečná.
  • Rekurzívny prípad: Časť funkcie, kde sa volá sama, zvyčajne s upraveným argumentom.

Príklad (výpočet faktoriálu):

func factorial(_ n: Int) -> Int {
    // Základný prípad
    if n <= 1 {
        return 1
    }
    // Rekurzívny prípad
    return n * factorial(n - 1)
}
// Príklad volania
let result = factorial(5) // 120

Výhody:

  • Elegantné riešenie problémov s rovnakou štruktúrou (napríklad prechádzanie stromov).
  • Kód je v niektorých prípadoch čitateľnejší.

Nevýhody:

  • Môže spotrebovať veľa pamäte (zásobník volaní).
  • Možné pretečenie zásobníka pri príliš hlbokej rekurzii.
  • Niekedy je menej efektívne ako iteratívne riešenia.