Заголовок
Download 6.66 Kb.
|
OzodovBehzod
- Bu sahifa navigatsiya:
- Matematik talqini
- Rekursiyada asosiy shart nima
- Yuqoridagi misolda, n
- Rekursiya asos shart i
- E’TIBORINGIZ UCHUN RAHMAT!
Muhammad al-xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti Urganch filiali 914-22 guruh talabasi Ozodov Behzodbekning ma’lumotlar tuzilmasi va algoritmi fanidan tayyorlagan taqdimotiMavzu: Rekursiv funktsiyalar va algoritmlar.Rekursiv funktsiyalar va algoritmlar.
Matematik talqini
Rekursiyada asosiy shart nima?Rekursiv dasturda asosiy holatning yechimi taqdim etiladi va katta masalaning yechimi kichikroq masalalar bilan ifodalanadi.int fact(int n){if (n < = 1) // asosiy holatreturn 1;elsereturn n*fact(n-1);}Yuqoridagi misolda, n<= 1 uchun asosiy holat aniqlangan va sonning kattaroq qiymatini kichik songa aylantirish orqali hal qilish mumkin.Rekursiyani to’g’ri tashkil qilish shartlariHar qanday to’g’ri tuzilgan rekursiya asosini ikkita shart tashkil qiladi.Rekursiya asos shartiFunksiyaning o’ziga o’zgartirilgan argument bilan murojaat qilish sharti.Rekursiv funksiya qaysidir vaqtga kelib o’ziga murojaat qilishni to’xtatishi kerak bo’ladi. Aynan shu narsani rekursiya asos sharti ta’minlab beradiNima uchun rekursiya kerak Aslini olganda, har qanday rekursiv ishlangan masalani iterativ usulda ishlash mumkin va buning aksi ham to’g’ri.Buning ustiga rekursiv yechim har doim xotiradan qo’shimcha joy talab qiladi. Shunday ekan, nima uchun unda rekursiya kerak? Albatta, buning yetarlicha sabablari bor:Rekursiya deyarli hamma joyda ishlatiladi. Ba’zi holatlarda rekursiv yechim ancha soddaroq. Ayniqsa, 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, QuickSort, MergeSort, … Bu ro’yhatni juda uzoq davom ettirish mumkin. Ayniqsa, murakkab tuzilmalar bo’lgan Tree va Graphlarda rekursiya har qadamda uchraydi. Dasturchilikni esa ularsiz tasavvur qilib bo’lmaydi, bu esa o’z o’rnida rekursiya qanchalik muhimligini belgilab beradi. Rekursiya funksional dasturlashning asosiy elementlaridan hisoblanadi. shunday dasturlash tillari borki ularda umuman takrorlanish operatorlari yo’q va bu borada butunlay rekursiyaga tayanadi. Haskell va Erlang shular jumlasidan.Rekursiv triada Parametrizatsiya qilish – masala shartini tasniflash va uni xal etish uchun parametrlar aniqlanadi (masala kolamidan kelib chiqib ya’ni har safar masala kolami kamayishi kerak ); Rekursiya bazasi(asosi) – masala yechimi aniq bo’lgan trivial (to’xtaydigan ) holat aniqlanadi , ya’ni bu xolatda funksiyani o’ziga murojat qilishi talab etilmaydi Dekompozitsiya (butun qismlarga ajratsih ) umumiy xolatni nisbatan ancha oddiy bo’lgan o’zgargan parametrli qism masalalar orqali ifodalaydi Rekursiv yoki interatsion usul samaradorligi berilgan masalani xal qiluvchi dasturni turli boshlang’ich qiymatlarda taxlil etish orqali aniqlanadi. Rekursiv algoritmlarni samaradorligini oshirish ko’pincha triada bosqichlarini qayta ko’rib chiqish natijasida amalga oshishi mumkun.Arifmetik progressiyani birinchi hadi va ayirmasi berilgan. N ta hadini aniqlovchi rekursiv funksiya tuzing #include |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling