Sobes.tech
Junior

Rekursiv xulq nima?

sobes.tech AI

AIdan javob

Kod yoki funksiyalarni bajarish, ular o'zlarini chaqiradigan.

Asosiy elementlar:

  • Asosiy holat: Rekursiya to'xtaydigan shart. Bu bo'lmasa, rekursiya cheksiz davom etadi.
  • Rekursiv holat: Funksiyaning o'zini chaqiradigan qismi, odatda, o'zgartirilgan argument bilan.

Misol (faktorialni hisoblash):

func factorial(_ n: Int) -> Int {
    // Asosiy holat
    if n <= 1 {
        return 1
    }
    // Rekursiv holat
    return n * factorial(n - 1)
}
// Chaqirish misoli
let result = factorial(5) // 120

Afzalliklar:

  • O'ziga o'xshash tuzilishga ega muammolar uchun elegant yechim (masalan, daraxtlarni yurish).
  • Ba'zi hollarda ko'proq o'qilishi oson kod.

Kamchiliklar:

  • Ko'p xotira iste'mol qilishi mumkin (chaqiruvlar yoyi).
  • Juda chuqur rekursiyada yoyi to'lib ketishi mumkin.
  • Ba'zan iterativ yechimlardan kamroq samarali bo'lishi mumkin.