Saralash algoritmlanini vizuallashtirish
Mavzu: Saralash algoritmlanini vizuallashtirish I. Kirish Saralash haqida ma’lumot va ularning qo’llanilishi. II.Asosiy qism Nazariy qism 1. Saralash xossalari va ularning sinflari 2. Saralash algoritmlari bajarilish tezligida xotirani effektiv ishlatilishi bo’yicha baholash. 3. Ichki va tashqi saralash. Amaliy qism 1.Saralash bo’yicha algaritmlar. 2. Saralashga oid misollar. 3.Sanash orqali saralash. 4.Razryadli saralash(Raqamli saralash). III.Xulosa: Saralashning axamiyati. IV. Foydalangan adabiyotlar ro’yxati.
Kirish: Saralashdan biz kundalik hayotmizda ko’p foydalanamiz. Masalan bozordan biror narsa harid qilishimizda, uning ko’piroq narxi bilan qiziqamiz yoki ularni taqqoslaymiz. Bu narsalar bizga oddiy hodisa bo’lib qolgan, lekin biz siz bilan bu jarayon qanaqa miyamizda xosil bo’layotganligini bir o’ylab ko’raylikchi. Demak, oddiygina biz kunda faydalnayotgan xarakatlarimizni dasturini tuzish uchun ko’p narsalarni bilishimiz va aniq bir maqsadga yo’naltirgan tartiblangan qoidalar yig’indisi zarur bo’ladi. Agar ma’lumotlar kompyuter xotirasida muayyan tartibda saqlanadigan bo’lsa, axborotga ishlov berish va uni izlash bilan bog’liq ko’p masalalar oddiyroq, tezroq va samaraliroq xal qilinadi. Bir qator xollarda ma’lumotlarning tartibga solinganligidan foyda aniq bo’lib, maxsus isbotlashlarni talab etmaydi. Agar lug’at yoki telefon ma’lumotnomasida so’zlar va familalar alifbo tartibida joylashtirilmaganda ulardan foydalanish qanchalik qiyin bo’lishini tasavvur etish mumkin. Lekin ma’lumotlarni saralash zaruriyati masalasi har safar muayyan vazifasiga nisbatan hal qilishi zarur. Bunda tashqi xotira qurulmalari imkoniyatlari, opetativ xotira xajmi, ma’lumotlarga murojaat qilish tezligi, ularni yangilab turish tezligi va ishlov berish xarekteri kabilarni taxlil qilish zarur. Turli ilovalarda tartibga solishning turli mezonlaridan foydalaniladi. Ma’lumotlarularga murojat qilish e’htimolining qiymati, qancha tez-tez murojat etib turishiga ko’ra tartibga solishi mumkin. Odatda, tartibga solish yozuv bo’yicha amalga oshiriladi. Axbotot tizimlari bilan ishlov beriladigan ma’lumotlar birligi bir qator axborot maydonidan iborat bo’lgan yozuv hisoblanadi. Yozuv faqat bittagina maydondan iborat bo’lishi mumkin va bu xolda u kalitli hisoblanadi. Tartibga solish natiyjasida yozuvlar kalitlarning qiymati ortib borishi yoki kamayib borish tartibida joylashadi. Bunday tartibga solish jarayoni saralash deb ataladi. Masalan, fakultet talabalari to’g’risidagi ma’lumotlardan iborat bo’lgan yozuvlar
talabalarning reyting daftarchalari nomerlari bo’yicha tartibga solingan bo’lishi mumkin. Yozuvlar dastlabki ketma-ketligi turli darajada tartibga solingan bo’lishi mumkin. Balki yozuv elementlari belgilangan tartibda joylashgan bo’lishi mumkin. Boshqa bir xolatda elementlarga teskari, ya’ni yozuvlarning dastlabki ketma - ketligi teskari tartibda joylashgan bo’lishi mumkin. Yozuvlarning dastlabki ketma- ketligining qanday tartibda joylashganlik darajasiga ko’ra, solishtirishlar va joyini o’zgartirishlarning u yoki bu soni talab etiladi. Saralash usulini boxolashda solishtirishlar va o’rnini o’zgartirishlarning eng ko’p va kam sonlarini topish juda onson. Bu operatsiyalarning o’rtacha sonini aniqlash uchun kombinatorikaning tegishli bo’limlarini jalb etish zarur. Odatda, saralash jarayonida bajariladigan solishtirish operatsiyalarining o’rtacha soni va elementlarining o’rnini almashtirish yoki o’zgartirishning o’rtacha soni turli usullarni baxolash mezonlari xisoblanadi. Saralash samaradorligi solishtirishning o’rtacha soniga bo’linmasi sifatida aniqlanadi. EXM larning operatsiyon tizimlari, xech bo’lmaganda, bitta dastur – saralash utilitasidan iborat bo’ladi. Lekin ma’lumotlarga ishlov berishning muayyan vazifalarini xal qilishda utilita taklif etilayotgan usil yaroqsiz bo’lishi va boshqa usilni ishlab chiqish yoki foydalanishga to’g’ri kelishi mumkin. Shu munasabat bilan saralashning asosiy usillarini bilish va muayyan vazifa uchun yaroqli bo’lgan u yoki bu usilni baxolay olish muximdir.
II.Asosiy qism Saralash – bu massiv elementlarini biror qonuniyat (o’sish, kamayish, oxirgi raqami, bo’luvchilar, juftlari toqlari …)ga asoslangan holda tartiblashga aytiladi. Umuman olganda saralashning maqsadi berilgan ob’ektlar to’plamini aniq bir tartibda guruxlab chiqish jarayoni tushuniladi. Saralashning maqsadi keyinchalik, saralashgan to’plamni qidirilayotgan elementini topishdani borat. Bu qariyib universal, fundamental jarayon. Biz bu jarayon bilan har kuni uchrashamiz – telefon daftaridagi saralash, kitoblar sarlavhasida, kutubxonalarda, lug’atlarda, pochtada savdoda va x.k. Xar qanday saralash bu dastur demakdir va saralash presedurasining tavsivlarining baxosi dastur qanchalik yaxshi tuzilganiga bog’liq bo’ladi.Ikkita turli usillarning ish unimidagi farq “ yaxshi ” va “ yoman ” dasturlashtirilgan aynan bitta usil o’rtasidagilarga nisbatan bir necha kam bo’lishi mumkin. Saralash presedurasi uchun sarflanadigan xaqiqiy mashina vaqti massivlardan ko’rib chiqish, qiyoslash va sikllarni tashkil etish, ma’lumotlarni boshqa joyga ko’chirish kichik dasturlari, kichik dasturlarning aloqasi uchun bog’liq bo’ladi. Bugun biz siz bilan massiv elementlarini saralashni ko’rib chiqamiz. Saralashning juda ko’pusullari mavjud. Ular turli to’plamlar uchun turlicha bo’lishi mumkin. Massivni saralash uchun ishlatiladigan usul unga berilgan xotirani ixcham holda ishlatish lozim. Boshqacha qilib aytganda, saralanayotgan massiv xuddi shu massivni o’zida amalga oshirilishi lozim. Saralash usullari kam mashina vaqtini talab qilishi lozim. Eng yaxshi tez algoritmlar tartibidagi saralashlarni talab etadi.
n*log n Bu yerda ikkita saralashni farqlash lozim. Ichki va tashqi saralash. Ichki saralash deganda, massivlarni saralashni, Tashqi saralash deganda esa, fayl elementlarini saralashni tushunamiz. Algoritmning asosiy xossalaridan biri unga qo’llanish sferasi(sohasi) bilan bog'liq. Asosan ikkita tur saralashi mavjud: •Ichki saralash. Boshqacha qilib aytganda, bunday saralash massivlarda saralashni amalga oshiradi. Bunda keltirilgan n ketma – ketlik operativ xotirada joylashga va bunda ixtiyoriy yacheykaga raxsatli kirish mavjud. Asosan bu yerda o‘z joyida saralash amalga oshiriladi. • Tashqi saralash. Bu yerda fayllar ustida saralash a malga oshiriladi. Albatta, bunday saralashda vaqt ko‘p ketadi, lekin, o’lcham jixattan katta ketma-ketliklarni saralash mumkin. Faraz qilaylik, bizgaα 1 , α 2 , . . . , α n elementlar berilgan bo’lsin, u holda massivni saralash deganda, uni elementlarini o’rinlariga almashtirish tushuniladi. α k 1 , α k 2 , . . . , α k n