Saralashning qat’iy va yaxshilangan usullari va ularning qo’llanilishi. Saralashning ikkita turi mavjud: ichki



Yüklə 321,13 Kb.
Pdf görüntüsü
səhifə4/6
tarix20.11.2023
ölçüsü321,13 Kb.
#164737
1   2   3   4   5   6
“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 )).
Quiksort – tez saralash algoritmi
Bu algoritm “bo’lib ol va egalik qil” tamoyilining yaqqol misolidir. Bu 
algotirm rekursiv bo’lib, o’rtacha 
N*log
2

ta solishtirish natijasida saralaydi. 
Algoritm berilgan massivni saralash uchun uni 2 taga bo’lib oladi. Bo’lib olish 
uchun ixtiyoriy elementni tanlab undan 2 ta qismga ajratiladi. Lekin o’rtadagi 
elementni tanlab, massivning teng yarmidan 2 ga ajratgan ma

qul. Tanlangan kalit 
elementga nisbatan chapdagi va o’ngdagi har bir element solishtiriladi. Kalit 
elementdan kichiklar chapga, kattalar o’ng tomonga o’tkaziladi (6.3-rasm). Endi 
massivning har ikkala tomonida xuddi yuqoridagi amallar takrorlanadi. Ya

ni bu 
oraliqlarning o’rtasidagi elementlar kalit sifatida olinadi va h.k.
Misol uchun rasmdagi massivni saralash algoritmini ko’rib chiqamiz.
1. Oraliq sifatida 

dan 
n-1 
gacha bo’lgan massivning barcha elementlarini olamiz.
2. Oraliq o’rtasidagi kalit elementni tanlaymiz, ya

ni
key=(+)/2, i=,
j=.



3-rasm. Quicksort algoritmida o’rinlashtirish
3. Chapdagi i-elementni 

Yüklə 321,13 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin