Sobes.tech
Intern

Rekursiya nima?

sobes.tech AI

AIdan javob

O'z-o'zini chaqiradigan funksiya.

Asosiy muammo bilan bir xil tuzilishga ega bo'laklarga bo'linadigan muammolarni hal qilish uchun qo'llaniladi. Cheksiz siklni oldini olish uchun chiqish sharti (asosiy holat) bo'lishi shart.

Faktorialni hisoblash misoli:

<?php
function factorial(int $n): int
{
    // Asosiy holat
    if ($n <= 1) {
        return 1;
    }
    // Rekursiv chaqiruv
    return $n * factorial($n - 1);
}

echo factorial(5); // 120 ni chiqaradi
?>

Afzalliklar:

  • Ba'zi muammolar uchun kodning elegantligi va qisqalik.

Kamchiliklar:

  • Juda chuqur rekurentlik darajalarida stek to'lib ketishi mumkin.
  • Funksiya chaqiruvlarining qo'shimcha xarajatlari sababli, ayni muammolar uchun iterativ yechimlardan kamroq samarali bo'lishi mumkin.

O'ta ko'pincha daraxtlarni, fayl tizimlarini aylanib chiqish, kombinatorik muammolarni hal qilish uchun qo'llaniladi.