|
3-mavzu. Tanlash va joylashtirish turkumidagi murakkablikga ega saralash algoritmlari. Reja
|
bet | 1/2 | Sana | 14.05.2024 | Hajmi | 44,99 Kb. | | #232090 |
Bog'liq 3-mavzu. Tanlash va joylashtirish turkumidagi murakkablikga ega
3-mavzu. Tanlash va joylashtirish turkumidagi murakkablikga ega saralash algoritmlari.
Reja:
1. Saralashning asosiy tushunchalari va printsiplari
2. Ma’lumotlarning chiziqli tuzilmalarini saralashning asosiy usullari
Tayanch so’zlar: Saralash tushunchasi. Saralash algoritmlari. Tanlash va joylashtirish usulida saralash, Oʻsib borish va kamayish tartibida saralash, qoʻshish usulida saralash, Joyida abstrakt qoʻshib saralash, Yuqoridan pastga qoʻshib saralash.
1. Saralashning asosiy tushunchalari va printsiplari
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 familiyalar alifbo tartibida joylashtirilmaganda ulardan foydalanish qanchalik qiyin bo’lishini tasavvur etish mumkin. Lekin ma’lumotlarni saralash zaruriyati masalasi xar safar muayyan vazifaga nisbatan xal qilinishi zarur. Bunda tashqi xotira qurilmalari imkoniyatlari, operativ xotira xajmi, ma’lumotlarga murojaat qilish tezligi, ularni yangilab turish tezligi va ishlov berish xarakteri kabilarni taxlil qilish zarur.
Turli ilovalarda tartibga solishning turli mezonlaridan foydalaniladi. Ma’lumotlar ularga murojaat kilish extimolining kiymati, kancha tez-tez murojaat etib turilishiga kura tartibga solinishi mumkin. Odatda, tartibga solish kalit buyicha amalga oshiriladi.
Axborot tizimlari bilan ishlov beriladigan ma’lumotlar birligi bir kator axborot maydonlaridan iborat bulgan yozuv xisoblanadi. Kalit bitta yozuv maydoni ichidagi narsalar (kalit maydoni) yoki muayyan maydonlar majmuidan iborat bulishi mumkin. Keyingi xolda kalit tarkibiy deb ataladi. Yozuv fakat bitgagina maydondan iborat bulishi mumkin va bu xolda u kalitli xisoblanadi. Tartibga solishda natijasida yozuvlar kalitlarning kiymati ortib borishi yoki kamayib borish buyicha joylashadi. Bunday tartibga solish jarayoni saralash deb ataladi. Masalan, fakulьtet talabalari tugrisidagi ma’lumotlardan iborat bulgan yozuvlar talabalarning reyting daftarchalari nomerlari buyicha tartibga solingan bulishi mumkin.
Ba’zan, ayniksa, yozuvlarning kaliti tarkibiy bulgan xollarda, tartibga solingan yozuvlar ichida xam tartibga solish zarur buladi, Masalan, fakulьtetning barcha talabalari tugrisidagi yozuvlar guruxdarning ratsamlari buyicha, xar bir gurux ichida esa familiyalarning birinchi xarfi alifbo tartibida tartibga solingan bulishi mumkin. Bu xolda gurux nomeri katga, familiyaning xarfi esa kichik kalit buladi.
Umuman olganda, kalitlarning bir nechta darajalarini belgilash mumkin, bunda katta kalit birinchi rang kalit, kichik kalitlar esa tegishlicha ikkinchi, uchinchi rang kalitlari deb ataladi va xokazo. Bu xolda saralash boskichma-boskich amalga oshiriladi. Dastlab, yozuvlar massivi birinchi rang kalit buyicha saralanadi Sungra birinchi rang kalitning kiymatlari bir xil bulgan yozuvlar ikkinchi kalit rangi buyicha saralanadi va xokazo. Masalan, lugatning birinchi rang kaliti suzning birinchi xarfi, ikkinchi rang kaliti esa ikkinchi xarfi va xokazo buladi.
Saralash jarayonida yozuvlar xotirada shunday jismoniy surilishi mumkinki, bunda kichik kalitli yozuv katta kalitli yozuvdan oldinda joylashib koladi. Lekin xar doim xam jismoniy surilish sodir bulmaydi. Bir kator xollarda yordamchi jadval tuzish va uning yordamida kalitlarining tartibiga muvofik joylashgan yozuvlardan erkin foydalanish ta’minlanadi. Masalan, kursatkichlar vektoridan foydalanish mumkin, uning xar elementa yozuvning indeksi yoki manzilidan iborat buladi. Vektor elementlarining yurish tartibi asosiy massiv elementlarining tartibga solingan ketma-ketligini belgilab beradi.
Kalit maydonida sonli yoki belgili ma’lumotlar saklanishi mumkin. Kalitining xarakteriga ko’ra, yozuvlar sonli usulda yoki alifbo-raqamli usulda saralanadi. Sonli saralashda yozuvlar kalitining kiymatiga karab ortib boradigan yoki kamayib boradigan tarzda tartibga solinadi. Agar kalit maydonida belgili ma’lumotlar sakdanayotgan bulsa, saralashda belgilarning katorlari solishtiriladi. Saralash natijasida massiv yozuvlarining leksik-grafik tartibda joylashish tartibi belgilanadi. Simvollarni solishtirishda ularni mashinada takdim etishning ikkilamchi kodlari solishtiriladi. Katta kodga ega bulgan belgi katta xisoblanadi.
Ba’zan axborot massivining yagona usulda saralanmasligi kulay buladi. Bunday vaziyat turli ilovalar kalit sifatida massiv yozuvlarining turli maydonlaridan foydalanadigan xollarda yuzaga keladi. Ushbu ilova uchun zarur kalit buyicha asosiy massivni saralash xar safar bevosita ma’lumotlarga ishlov berishni boshlash oldidan amalga oshiriladi. Ishlov berish tugallanganidan sung saralangan massiv yukotiladi. Bunda saralash vakti ma’lumotlarga ishlov berishning umumiy vakti xisobiga kiritiladi.
Bir kator xollarda turli kalitlar buyicha saralangan massivlar yoki fayllar KOMPYUTER xotirasida doimiy saklanadi. Bunday massivlar inverslangan (teskarilangan) massivlar deyiladi. Bunda xotiraning kup sarflanishi, kupincha, ishlov berish jarayonining tezlashishi xisobiga uzini oklaydi.
Saralash jarayonida foydalaniladigan texnika vositalari tarkibiga kura ichki va tashki saralash farklanadi. Agar tartibga solinadigan massiv tulaligicha operativ xotirada joylashadigan va saralash jarayonida davomida usha yerda turadigan bulsa, bu ichki saralash xisoblanadi. Tashki saralash xajmi operativ xotiraning bush xotirasidan ortik bulgan ma’lumotlar massivlarida utkaziladi. Bu xolda dastlabki va saralangan ma’lumotlar massivlari tashki xotira kurilmalarida joylashadi. Saralash jarayonida dastlabki massivning bir kismi operativ xotirada ukiladi, u yerda ichki saralash usullaridan biri bilan saralanadi, sungra tashki xotira kurilmasiga yozib olinadi. Bu jarayon bir necha marta takrorlanadi. Shu tarika saralab olingan yozuvlar ketma-ketligi keyinchalik birlashtiriladi. Tashki xotira kurilmasidagi tartibga solingan ma’lumotlar ketma- ketligini birlashtirish operatsiyasi kushilish deb ataladi. Shunday kilib, tashki saralash ishlov berishning ikki boskichini: ichki saralash va kushilishni uz ichiga oladi.
Ichki saralashning kuplab usullari mavjud va ularning xar biri uz afzalliklari va kamchiliklariga ega bulib, ma’lumotlar va apparaturaning muayyan konfiguratsiyalarida boshkalaridan samaralirok bulishi mumkin. Saralash usullarining tavsiflarini baxolash kar bir muayyan kolatda bu usullardan birini tugri tanlash imkonini beradi.
Yozuvlarning dastlabki ketma-ketligi turli darajada tartibga solingan bulishi mumkin. Balki yozuv elementlari belgilangan tartibda joylashgan bulishi mumkin.
Boshka bir xolatda elementlar belgilanganga teskari, ya’ni yozuvlarning dastlabki ketma-ketligi teskari tartibda joylashgan bulishi mumkin. Umuman olganda, ketma-ketlik elementlari istalgan ixtiyoriy tartibda joylashishi mumkin. Yozuvlarning dastlabki ketma-ketligining kanday tartibda joylashganlik darajasiga kura, solishtirishlar va joyini uzgartirishlarning u yoki bu soni talab etiladi. Saralash usulini bakolashda solishtirishlar va urnini uzgartirishlarning eng kup va kam sonlarini topish juda oson. Bu operatsiyalarning urtacha sonini anikdash uchun kombinatorikaning tegishli bulimlarini jalb etish zarur. Amaliyotda usul tavsiflarining urtacha kiymatlarini bakolash uchun bu tavsiflarning urtacha arifmetik kiymatlarini arproksimatsiyalashdan foydalaniladi.
Odatda, saralash jarayonida bajariladigan solishtirish operatsiyalarining urtacha soni va elementlarning urnini almashtirish yoki uzgartirishlarning urtacha soni turli usullarni baxolash mezonlari xisoblanadi. Saralash samaradorligi solishtirishlarning urtacha sonini massiv elementlarining soniga bulinmasi sifatida aniklanadi.
Odatda, EX.M larning operatsion tizimlari, xech bulmaganda, bitta dastur - saralash utilitasidan iborat buladi. Pekin ma’lumotlarga ishlov berishning muayyan vazifalarini xal kilishda utilita taklif etayotgan usul yaroksiz bulishi va boshka usulni ishlab chikish yoki foydalanishga tugri kelishi mumkin. SHu munosabat bilan saralashning asosiy usullarini bilish va muayyan vazifa uchun yarokli bulgan u yoki bu usulni baxolay olish muximdir.
|
| |