Iii amaliy qisim IV. Xulosa V. Foydalanilgan adabiyotlar
Eng yaxshi O`rtacha
Download 247.89 Kb.
|
Amaliy matematika va informatika fakulteti Tabiy va aniqfanlar k-fayllar.org (1)
- Bu sahifa navigatsiya:
- III. Pufaksimon saralash algoritmi
- Pufaksimon ” usulni yaxshilash
III. Pufaksimon saralash algoritmi (Bubble sort) algoritimi G`oya– stakandagi suvning pufakchalari kun bo`yi tepaga ko`tariladi. Massiv uchun– eng kichik («engil») element tepada joylashadi («suv yuziga_ko`tariladi»). • Pastdan boshlab ikkita qo`shni elementni solishtiramiz; agarda ular «noto`g`ri» turgan bo`lsa, ularni o`rnini almashtiramiz • Birinchi o`tishda bitta element (eng kichik) o`z joyiga o`tadi • N ta elementli massivnisaralashuchun N-1 o`tishni bajarish lozim (N-1 elementni_o`z joyiga qo`yish uchun_Yetarli). Xar bir o`tishdan so`ng ushbu o`tish davomida joy almashtirishlar bo`lgan bo`lmaganligini tekshirib qo`yish mumkin. Ushbu usulning g’oyasi quyidagicha: n - 1 marta massivda quyidan yuqoriga qarab yurib kalitlar jufti-jufti bilan taqqoslanadi. Agar pastki kalit qiymati yuqoridagi jufti kalitidan kichik bo’lsa, u holda ularning o’rni almashtiriladi. Misol : massiv - 4, 3, 7, 2, 1, 6 Pufaksimon saralash usulida massiv elementlarining o’rnini almashtirish Pufaksimon usulni massiv elementlarida pastdan yuqoriga va yuqoridan pastga o’tishni bir vaqtda amalga oshirish natijasida yaxshilash mumkin. “Pufaksimon” saralash usulini hisoblashga misol Massivni pufaksimon saralashga misol berilgan misolda 5 ta elementdan iborat massiv berilgan. Demak, massivda pastdan yuqoriga (yuqoridan pastga) o’tishlar soni 5-1=4 marta bo’ladi. Misoldan ko’rinib turibdiki, algoritm ichki siklda 3-qadamdan boshlab massivni “bekor” qayta ishlaydi, 4-qadamni bajarmasa ham bo’ladi. Berilgan usullarning afzalligi: 1) Eng sodda algoritm; 2) Amalga oshirish sodda; 3) Qo’shimcha o’zgaruvchilar shart emas. Kamchiliklari: 1) Katta massivlarni uzoq qayta ishlaydi; 2) Har qanday holatda ham o’tishlar soni kamaymaydi. “Pufaksimon” usulni yaxshilash Agar massivda o’tishlar nafaqat yuqoridan pastga, balki bir vaqtning o’zida pastdan yuqoriga ham bo’lsa, u holda “yengil” elementlar “yuqoriga suzib chiqadi. va “og’ir” elementlar esa “cho’kadi”. 2) Massivda “bekor” o’tishni yo’q qilish uchun, tashqi siklda massiv saral anganligini tekshiruvchi belgi qo’yish lozim. for (int i=0;i for (int j=n-1;j>i;j--) if (a[j] < a[j - 1]) { int x= a[j - 1]; a[j - 1] = a[j]; a[j] = x; } O’rinlashtirish va taqqoslashlar soni: (n* log( n )). Download 247.89 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling