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.