Sobes.tech
Junior

Rekursiv davranış nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Kodun və ya funksiyaların özünü çağırması ilə yerinə yetirilməsi.

Əsas elementlər:

  • Əsas hal: Rekursiyanın dayandığı şərt. Onun olmaması halında, rekursiya sonsuz olar.
  • Rekursiv hal: Funksiyanın özünü çağırdığı hissə, adətən, dəyişdirilmiş arqumentlə.

Misal (faktorialın hesablanması):

func factorial(_ n: Int) -> Int {
    // Əsas hal
    if n <= 1 {
        return 1
    }
    // Rekursiv hal
    return n * factorial(n - 1)
}
// Çağırış nümunəsi
let result = factorial(5) // 120

Üstünlüklər:

  • Öz-özünə bənzər struktura malik problemlər üçün şık həll (məsələn, ağacların gəzilməsi).
  • Bəzi hallarda daha oxunaqlı kod.

Çatışmazlıqlar:

  • Çox yaddaş istifadə edə bilər (çağırış yığını).
  • Çox dərin rekursiyada yığın daşması riski.
  • Bəzən iterativ həllərdən daha az səmərəli ola bilər.