Pufaksimon saralash algoritmi va yaxshilangan usullari


Download 208.39 Kb.
bet1/7
Sana09.01.2022
Hajmi208.39 Kb.
#261176
  1   2   3   4   5   6   7
Bog'liq
2 5402566450273586104


Mavzu: Saralashning yaxshilangan usullari.

Reja:


  1. Pufaksimon saralash algoritmi va yaxshilangan usullari.

  2. Quiksort – tez saralash algoritmi

  3. Tuzilma elementlarini saralash

Pufaksimon saralash algoritmi va yaxshilangan usullari.

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 (1-rasm).



Misol : massiv - 4, 3, 7, 2, 1, 6

1-rasm. 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.

Taqqoslashlar soni:

M= =

Almashtirishlar soni:



= 3*

Pufaksimon” saralash usulini hisoblashga misol



2-rasm. Massivni pufaksimon saralashga misol

6.2-rasmda 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

1) 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 saralanganligini 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 208.39 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling