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.
Qutilar ichma-ich ixtiyoriy joylashtirilgan, qaysidir quti ichida kalit bor. Siz kalitni topish algoritmini tuzishingiz kerak
Fibonachchi ketma ketligining n — hadini rekursiya qism dastur orqali hisoblovchi dastur
#includeint fib(int); int main() { int n; cout << "n="; cin >> n; cout << fib(n) << endl; return 0; } int fib(int k) { if (k == 0 || k == 1) return 1; else return fib(k - 1) + fib(k - 2); }
.
#includeusing namespace std; void tower(int n, char sourcePole, char destinationPole, char auxiliaryPole) { if(0 == n) return; tower(n - 1, sourcePole, auxiliaryPole, destinationPole); cout << "Diskni ko'chiring "<< n << " dan " << sourcePole <<" ga "<< destinationPole << endl; tower(n - 1, auxiliaryPole, destinationPole, sourcePole); } int main() { tower(3, 'S', 'D', 'A'); return 0; }
.
Rekursiv funksiyaning toʻxtash chegarasi boʻlmasa, amallar cheksiz bajarilaveradi, oqibatda dastur xatolik keltirib chiqaradi.
Bu maqola birorta turkumga qoʻshilmagan. Iltimos, maqolaga aloqador turkumlar qoʻshib yordam qiling. (Aprel 2024) |
This article uses material from the Wikipedia O‘zbek article Rekursiya, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Matndan CC BY-SA 4.0 litsenziyasi boʻyicha foydalanish mumkin (agar aksi koʻrsatilmagan boʻlsa). Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki O‘zbek (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.