Sobes.tech
Intern

Rekursiya nima?

sobes.tech AI

AIdan javob

Rekursiya — bu funksiyaning o'zini chaqirish jarayonidir. Dasturlashda, rekursiv funksiya — bu to'g'ridan-to'g'ri yoki bilvosita o'zini chaqiradigan funksiya. Cheksiz siklni oldini olish uchun, rekursiv funksiya asosiy holga (base case) ega bo'lishi kerak, bu holatda u o'zini chaqirishni to'xtatadi.

Foydalanish misollari:

  • Ma'lumotlar tuzilmalarini yurish (masalan, daraxtlar).
  • O'ziga o'xshash kichikroq vazifalarga bo'linadigan muammolarni hal qilish (masalan, faktorialni hisoblash).

Faktorialni rekursiya yordamida hisoblash misoli:

def factorial(n):
  # Asosiy hol: 0 faktoriali 1 ga teng
  if n == 0:
    return 1
  # Rekursiv hol: n faktoriali = n * (n-1) faktoriali
  else:
    return n * factorial(n - 1)

# Foydalanish misoli
result = factorial(5)
# natija 120 bo'ladi

Rekursiyaning kamchiliklari:

  • Chaqiriqlar steki tufayli ko'p xotira talab qilishi mumkin.
  • Ba'zi muammolar uchun iterativ yechimlarga nisbatan kamroq samarali bo'lishi mumkin.
  • Chuqur rekursiv chaqiriqlarda stek to'lib ketishi mumkin.