|
Rekursiv jarayonlarni tashkil etish
|
bet | 8/11 | Sana | 23.01.2024 | Hajmi | 37,51 Kb. | | #143976 |
Bog'liq Amaliy fanlar universiteti-fayllar.org Funksiya o’ziga o’zi to’g’ridan-to’g’ri yoki qandaydir vosita orqali murojat qilish jarayoniga rekursiya va bunday funksiya rekursiv funksiya deyiladi. Har qanday to’g’ri tuzilgan rekursiya asosini ikkita shart tashkil qiladi. 2.Funksiyaning o’ziga o’zlashtirilgan argument bilan murojaat qilish. Rekursiv funksiya qaysidir vaqta kelib o’ziga murojaat qilishni to’xtatishi kerak bo’ladi. Aynan shu narsani rekursiya asos sharti ta’minlab beradi. Rekursiv funksiya qaysidir vaqta kelib o’ziga murojaat qilishni to’xtatishi kerak bo’ladi. Aynan shu narsani rekursiya asos sharti ta’minlab beradi. Keyingi shartda o’zgartirilgan argument deganda, odatda masala boshidagi argumentdan kichikroq argument tushiniladi (ba’zi hollarda kattaroq bo’lishi mumkin). Bu narsa ham juda muhim, chunki bir xil argument bilan qayta-qayta murojaat qilinganda yoki argument notog’ri o’zgartirilganda funksiya o’zini cheksiz marta chaqirishiga to’g’ri kelib qoladi. Nima 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: Aksariyat tuzilmalar va algoritmlarni rekursiyasiz tasavvur qilib bo’lmaydi. 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. Yana bir qiziq ma’lumot, shunday dasturlash tillari borki ularda umuman takrorlanish operatorlari yo’q va bu borada butunlay rekursiyaga tayanadi. Haskell va Erlang shular jumlasidan.
|
| |