Ko’p oqimli birlashtirish saralash
Ko’p oqimli birlashtirish saralash
Ko’p oqimli birlashtirish saralash ................................................................... 1 I Bob. Ko’p oqimli birlashtirib saralashning nazariy qismi. ........................... 2 1.2. Saralash tushunchasi ................................................................................. 3 1.3.Birlashtirish saralash ish jarayoni: ............................................................ 5 ADABIYOTLAR RO’YXATI ...................................................................... 20 ILOVA 1. Modul N1 boshlang’ich kod. ....................................................... 21
KIRISH Saralash algoritmlari hozirgi kunda hayotimizda juda ko’p qo’llaniladi. Saralash deb, berilgan obyektlar ketma-ketligini ma`lum mantiqiy tartibda qayta joylashtirish jarayoniga aytiladi. Saralash bir necha ko`rsatkichlarga bog`liq bo`lishi mumkin. Misol uchun maktabda jismoniy tarbiya dars boshida bolalar bo`ylariga qarab safda turishadi. Me`yor topshirish jarayonida esa sinf jurnalidagi familiyalar ketmaketligiga qarab topshirishadi. Shu yerning o`zida 2 ta saralashdan foydalaniladi. Birinchisi bo`y uzunligi bo`yicha, ikkinchisi sinf jurnalida alvabit tartibida saralanadi. Saralash jarayoni qanday kechadi? Saralash jarayoni taqqoslashga asoslangan jarayon hisoblanadi. Biror bir ma’lumotni saralash yoki qandaydir qolipga solish juda ham muhim. Sababi, tartibsiz ma’lumotlar bilan ishlash doimo noqulayliklar keltirib chiqaradi va bunday tizim sekin va xatoliklarga moyil bo’ladi. Tartiblangan ma'lumotlar hammaga yoqadi. Saralash ma'lumotlarni kerakli ketma-ketlikda tartibga solish imkonini beradi, masalan, o'sish yoki kamayish tartibida. Tasavvur qiling-a, siz yirik kompaniyada ishlaysiz va siz xodimlarning ismlarini maoshiga qarab tartiblashingiz kerak. Buning uchun saralash algoritmlari qo'llaniladi. 1
I Bob. Ko’p oqimli birlashtirib saralashning nazariy qismi. 1.1. Saralash tarixi Uch kishini bir necha yillardan buyon uzoq kosmosda olis sayyoralar tomon olib ketayotgan kosmik kema g‘alati oltinrang bulut orasidan uchib o‘tdi. Kemada tug‘ilgan va bir yosh bo‘lgan Век ismli bola hali yurishni o‘rganmagani uchun g‘ildirakli aravachasida katta doira shaklidagi xonasida bir o‘zi aylanib yurishni yoqtirardi. U aravachasini g‘ildiratib borib o‘yinchoqlarini egilib olar, o‘ynab yana otib yuborar edi. Век oltinrang bulut ta‘sirida o‘zida bir necha xil o‘zgarishlami sezdi. Birinchi o‘zgarish zehni bilan bog‘liq bo‘lib, u endi bola bo‘lsa ham arifmetik amaUarni juda tez bajarar, har xil narsalarni turli ko‘rinishdagi miqdorini bir qarashda juda tez aniqlab, taqqoslay olardi. Ikkinchisi, u tajanglashganligi va endi bolalar o‘yinchoqlarini o‘ynagisi kelmay qolganligi edi. Xonada bir o‘zi zerikib qolganligidan chinqirib yig‘lay boshladi. 0 ‘g‘lini ovutishga kelgan ota-ona bolani qunt bilan ota-onasining suhbatini tinglayotganiga e’tibor berishdi. 0 ‘g'lidagi o‘zgarish]arni sezgach, zehni o‘tkir o‘g‘lini ovutish uchun ota-onasi xonani boshqacha jihozlab, faqat bir qo‘li bor hamda g'ildirakda yiiradigan sodda dasturli Saralovchi I nomli robot yasab berishdi. Keyin robotni boshqarishga mo‘Ijallangan dastur tuzishga yo‘naltirilgan turli boshqotirmali masalalami ayta boshlashdi. Biz endi Век bilan birga shu masalalarni ko’rib chiqamiz. Avval xona haqida. Aytganimizdek, doira shakJidagi devorlari bo‘ylab bir xil balandlikda tokchalar o'rnatildi. Har bir tokchaga tartib raqami berildi, xonani bir qismining ko‘rinishi 8.1-rasmda ifodalangan. Kerak boisa, tokchalarni bir nechtasini qoldirib, qolganlarini yopib q o ‘yish mumkin edi. Har bir tokchani qulaylik uchun quyidagicha nom bilan belgilab olamiz: tokcha(I), tokcha(2), ..., tokcha(7), tokcha(21), ..., tokcha(1963), ... va shu asosida ixtiyoriy A tokchadagi buyumni tokcha(A) orqali belgilay olamiz. Ya’ni, tokcha(A) deganda Век va Saralovchi I tokchani emas, shu tartib raqamli tokcha buyumni tushunadi. Tokchalar sonining quyi chegarasi — INF, yuqori chegarasi — SUP kabi belgilanadi. Yuqoridagi belgilashlarga ko‘ra INF=1, SUP 2
esa masala shartlarida aniqlab boriladi. Avval, tokchalarni alifbo bo‘yicha А, B, D kabi belgilamoqchi boMdik. Lekin tokchalar soni ko‘payganda harflar ikkitalab, uchtalab va shu kabi qo‘shib yozilishi anchagina qiyinchilik keltirib chiqarishi noqulaylikka sabab boMardi. Shuning uchun tokchalar soni 10 tadan kam bo‘lsa, biz haflardan ham foydalanaveramiz. Ya’ni, A harfi tokcha(l) ni, В harfi tokcha (2) ni va shu kabi tushunilaveradi. Bu ma’lumotlarning hammasi Век va Saralovchi I ga tushunarli ekan. Yangi Ijrochimiz Saralovchi 1 sonlar ustida arifmetik amallarni bajara oladi va tekshirilayotgan quyidagi shartlami ROST yoki YOLG‘ON ekanligini biladi, ya'ni bu shartlarni tekshira oladi hamda shu asosida mantiqiy xulosa chiqara oladi: = (teng), O (tengem as), < = (katta emas), >(katta). > = (kichik emas). Sodda dasturli Ijrochi Saralovchi I ning ko‘rsatmasi faqatbitta: o‘tkaz tokcha(N), tokcha (M) Bu amalni bajarganda Saralovchi I qoMi bilan tokcha (N) dagi buyumni ko‘tarib, tokcha (M) ga olib qo‘ya oladi. Agar bu jarayonda tokcha(M) bo‘sh bo‘lmasa, undagi buyumni surib tushirib yuborib, bo‘shatadi va so‘ng tokcha (N) dagi buyumni q °‘ya oladi. Umuman, buyum qo‘yilayotgan tokchani bo‘sh deb hisoblash mumkin, baribir undagi buyumlar tashlab yuboriladi. Век faqat shu axborotlar asosida Saralovchi 1 ni boshqarish dastunni tuzishi kerak. Bu yerda qiziq bir usulni ko‘rish mumkin miqdorni o‘zgartinb uning awalgi nomini saqlab qoldik. Bundan qiymati o ‘zgaradigan miqdor tushunchasi paydo bo‘ladi 1.2. Saralash tushunchasi Saralash deb, berilgan obyektlar ketma-ketligini ma`lum mantiqiy tartibda qayta joylashtirish jarayoniga aytiladi. Saralash bir necha ko`rsatkichlarga bog`liq bo`lishi mumkin. Misol uchun maktabda jismoniy tarbiya dars boshida bolalar bo`ylariga qarab safda turishadi. Me`yor topshirish jarayonida esa sinf jurnalidagi familiyalar ketmaketligiga qarab topshirishadi. Shu yerning o`zida 2 ta saralashdan foydalaniladi. Birinchisi bo`y uzunligi bo`yicha, ikkinchisi sinf jurnalida alvabit tartibida saralanadi. Saralash jarayoni qanday kechadi? Saralash jarayoni taqqoslashga asoslangan jarayon hisoblanadi. Biror bir ma’lumotni saralash yoki 3