Sobes.tech
Junior

Rekursiv davranış nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Öz-özünü çağıran funksiya və ya metod, ya birbaşa, ya da digər funksiyaların çağırışı vasitəsilə dolayı yolla özünü çağırır.

İstifadə nümunələri:

  • Ağac strukturlarının gəzintisi (məsələn, fayl sistemi, UI elementləri ağacı).
  • Eyni növ kiçik alt tapşırıqlara bölünə bilən problemlərin həlli (məsələn, sürətli sıralama, faktorial hesablaması).

Əhəmiyyətli aspektlər:

  • Əsas hal (Base Case): rekursiyanı bitirən və sonsuz dövrü qarşısını alan şərt.
  • Rekursiv addım (Recursive Step): əsas hala yaxınlaşan dəyişdirilmiş arqumentlə funksiyanın çağırılması.

Faktorial hesablamanın nümunəsi:

func factorial(_ n: Int) -> Int {
    if n == 0 { // Əsas hal
        return 1
    } else { // Rekursiv addım
        return n * factorial(n - 1)
    }
}

Üstünlüklər:

  • Bəzi problemlər üçün oxunaqlılıq.
  • Çətin problemlər üçün zərif həll.

Əksikliklər:

  • Dərin rekursiyada yığın daşması riski.
  • Çox vaxt yaddaş və sürət baxımından iterativ həllərdən daha az səmərəli.

iOS inkişafında, məsələn, xüsusi görünüşlərin yaradılmasında, qrafiklərin gəzintisində və ya müəyyən struktura malik məlumatların işlənməsində istifadə oluna bilər.