Rekursiya




Rekursiya  — Funksiya oʻziga oʻzi toʻgʻridan-toʻgʻri yoki qandaydir vosita orqali murojaat qilish jarayoniga rekursiya deyiladi va bunday funksiya rekursiv funksiya deb ataladi.
Rekursiv funksiya oʻzini — oʻzi chaqirgani uchun dasturchilar orasida quyi oldin rekursiya nimagligini tushunish kerak“ — Stephen Hawking.
Rekursiya funksional dasturlashning asosiy elementlaridan hisoblanadi. Rekursiya deyarli hamma joyda ishlatiladi.
Baʼzi masalalarning iterativ yechimi juda ham uzun boʻlib ketishi mumkin. Rekursiya esa kodni bir necha barobar qisqartirib berishi mumkin.
Aksariyat tuzilmalar va algoritmlarni rekursiyasiz tasavvur qilib boʻlmaydi. Tree, Graph, Heap, Quick Sort, Merge Sort, … Bu ro'yhatni juda uzoq davom ettirish mumkin. Ayniqsa, murakkab tuzilmalar boʻlgan Tree va Graphlarda rekursiya har qadamda uchraydi.

Kamchiligi




Algoritmi



Qutilar ichma-ich ixtiyoriy joylashtirilgan, qaysidir quti ichida kalit bor. Siz kalitni topish algoritmini tuzishingiz kerak


Rekursiyaga qoʻyish uchun ushbu ikki shartni yozib olamiz

Dasturi



Fibonachchi ketma ketligining n — hadini rekursiya qism dastur orqali hisoblovchi dastur

.

Rekursiyaga oid dastur
.

Rekursiv funksiyaning toʻxtash chegarasi boʻlmasa, amallar cheksiz bajarilaveradi, oqibatda dastur xatolik keltirib chiqaradi.

Manbalar




uz.wikipedia.org

Uzpedia.uz