3-Laboratoriya ishi
Download 72.05 Kb.
|
3 Lab (2)
1.09-Matematika, 2-3 MAVZU — копия, 2-3 MAVZU — копия, 27, Bitiruv malakaviy ish Sayfiddinov Ixtiyor, Bitiruv malakaviy ish Sayfiddinov Ixtiyor, 0101.txt, 0101.txt, Yongin-xavfsizligi, JAsurbek mustaqil ish, taxlash 1yg, Jasur mustaqil ishhhhhh, Иванов Иван Иванович, mustaqil ish
- Bu sahifa navigatsiya:
- Qo’yilgan masala
- 3.1. Tuzilma elementlarini saralash
- Saralashning ikkita turi mavjud: ichki va tashqi
- To’g’ridan-to’g’ri qo’shish usuli (Insertion sort)
- Topshiriqlar
3-Laboratoriya ishi: Saralash algoritmlari. O’rniga qo’yish yo’rdamida saralash. Pufakli saralash. Shell saralash usuli. Ildizli saralash Ishdan maqsad: Ushbu laboratoriya ishining maqsadi talabalar qanday saralash usullari va algoritmlari mavjudligini va ularning samaradorliklarini baholashni o’rganishlari kerak. Shu asosda saralash usullarini qiyosiy tahlil qilishlari va ularga oid dasturlar tuzishni o’zlashtirishlari kerak. Qo’yilgan masala: Talabalar topshiriq variantiga mos saralash usuli yordamida masalani yechish dasturini yaratish ko’nikmasiga ega bo’lishlari kerak. Ish tartibi: Tajriba ishi nazariy ma’lumotlarini o’rganish; Berilgan topshiriqniтп algoritmini ishlab chiqish; Java dasturlash muhitida dasturni yaratish; Natijalarni tekshirish; Hisobotni tayyorlash va topshirish. 3.1. Tuzilma elementlarini saralash Ma’lumotlarni kompyuterda qayta ishlashda elementning information maydoni va uning mashina xotirasida joylashishini bilish zarur. Shu maqsadda ma’lumotlarni saralash amalga oshiriladi. Demak, saralash – bu ma’lumotlarni kalitlari bo’yicha doimiy ko’rinishda mashina xotirasida joylashtirishdan iborat. Bu yerda doimiylik ma’lumotlarni massivda kalitlari bo’yicha o’sishi tartibida berilishi tushuniladi. Ma’lumotlarga qayta ishlov berilayotganda ma’lumotning informatsion maydonini hamda uning mashinada joylashishini (adresini) bilish zarur. Saralashning ikkita turi mavjud: ichki va tashqi: Ichki saralash bu operativ xotiradagi saralash Tashqi saralash – tashqi xotiradagi saralash Agar saralanayotgan yozuvlar xotirada katta hajmni egallasa, u holda ularni almashtirishlar katta sarf (vaqt va xotira ma’nosida) talab qiladi. Ushbu sarfni kamaytirish maqsadida, saralash kalitlar adresi jadvalida amalga oshiriladi. Bunda faqatgina ma’lumot ko’rsatkichlari almashtirilib, massiv o’z joyida qoladi. Bu usul adreslar jadvalini saralash usuli deyiladi. Saralanayotganda bir xil kalitlar uchrashi mumkin, bu holda saralangandan keyin bir xil kalitlilar boshlang’ich tartibda qanday joylashgan bo’lsa, shu tartibda qoldirilishi maqsadga muvofiq bo’ladi (Bir xil kalitlilar o’zlariga nisbatan). Bunday usulga turg’un saralash deyiladi. Saralash samaradorligini bir necha mezonlar bo’yicha baholash mumkin: Birinchi mezonni qarab chiqaylik. Saralash bajarilganda taqqoslashlar yoki almashtirishlar sonini hisoblash mumkin. Faraz qilaylik, N = 0,01n2 + 10n – taqqoslashlar soni. Agar n < 1000 bo’lsa, u holda ikkinchi qo’shiluvchi katta, aks holda ya’ni, n > 1000 bo’lsa, birinchi qo’shiluvchi katta bo’ladi. Demak, kichkina n larda taqqoslashlar soni n ga teng bo’ladi, katta n larda esa n2 ga teng bo’ladi. Qat’iy usullarning afzalliklarini ko’rib chiqaylik:
Bilamizki, dasturlarning o’zlari ham xotirada joy egallaydi. To’g’ridan-to’g’ri saralash usullarining dasturlari qisqa bo’lib, ular tushunishga oson. To’g’ridan-to’g’ri saralash usullari orqali saralash tamoyillarining asosiy xususiyatlarini tushuntirish qulay. Murakkablashtirilgan usullarda uncha ko’p amallarni bajarish talab qilinmasada, ushbu amallarning o’zlari ham ancha murakkabdir. Garchi yetarlicha katta n larda ulardan foydalanish tavsiya etilmasada, kichik n larda mazkur usullar tezroq ishlaydi. Shu joyni o’zida qat’iy usullarni ishlash tamoyillariga ko’ra 3 ta toifaga bo’lish mumkin: To’g’ridan-to’g’ri qo’shish usuli (by insertion); To’g’ridan-to’g’ri tanlash usuli (by selection); To’g’ridan-to’g’ri almashtirish usuli (by exchange). To’g’ridan-to’g’ri qo’shish usuli (Insertion sort) Ornina qoyiw joli menen sortlaw algoritminin’ tiykarg’I ideasi sondan ibarat bunda sortlang’an dizimge tazadan element qosqanda sol elementti kerek bolg’an ornina qoyip ha’m toliq bolg’an dizimdi ja’ne bir ma’rte sortlawdan ibarat boladi. A[0] …. A[i] izbe-izlikte jaylasqan bolsa. Bunda algoritmnin’ o’sip bariwi menen birge og’an taza element qosilip baradi. Bul algoritmde I – basqishinda izbe-izlik eki bo’limge bo’linedi: tawsilg’an a[0] …… a[j] ha’m ta’rtipsiz a[i +1] ….. a[n]. Keyingi, (i + 1) - algoritmning har bir bosqichida biz [i + 1] ni olamiz va massivning tugagan qismiga kerakli joyga joylashtiramiz. Kirish ketma-ketligining keyingi elementi uchun mos joyni qidirish uning oldidagi element bilan ketma-ket taqqoslash orqali amalga oshiriladi. Taqqoslash natijalariga qarab, element yoki hozirgi joyda qoladi (joylash tugallandi) yoki ular joylarni o'zgartiradi va jarayon takrarlanadi. public static void InnerSort (int []a) { int n = a.length; for(int i=0; i {System.out.println("i= "+ i); for(int j=i+1; j { System.out.println("j= "+ j); if(a[j] < a[i] )
{ int x = a[i]; a[i] = a[j];
a[j] = x; System.out.println(a[j]); }}}
System.out.println(Arrays.toString(a));} public static void main(String[] args) {
Scanner in = new Scanner(System.in); int n;
n = in.nextInt(); for(int i=0; i { a[i] = (int)(Math.random()*50); }
System.out.println(Arrays.toString(a)); InnerSort (a);
Quyida har 10 ta variant uchun umumiy bo’lgan masalaning berilishi va talab qilinayotgan saralash usuli keltirilgan. Talabalar topshiriq olib so’ralayotgan usul bilan o’zlari tomonidan tanlangan ixtiyoriy saralash usulining samaradorligini solishtirish dasturini tuzishlari kerak. Usullarni solishtirishda o’rin almashtirishlar soni nazarda tutiladi. Ta’mirlash ustaxonasida bir nechta (N ta) mashina bor. Ular to’g’risida quyidagi ma’lumotlarga egamiz: raqami, markasi, egasining ismi, oxirgi marta ta’mirlanganligi sanasi (kuni, oyi, yili), ta’mirdan chiqishi lozim bo’lgan sana (kun, oy, yil). To’g’ridan-to’g’ri qo’shish usulidan foydalanib, saralashni amalga oshirish dasturini ishlab chiqish (variantga mos ravishda):
|
ma'muriyatiga murojaat qiling