Quiksort – tez saralash algoritmi




Download 1.33 Mb.
Pdf ko'rish
bet46/49
Sana20.08.2022
Hajmi1.33 Mb.
#25297
1   ...   41   42   43   44   45   46   47   48   49
 
6.6. 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
N 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 0 dan n-1 gacha bo„lgan massivning barcha elementlarini 
olamiz. 
2. Oraliq o„rtasidagi kalit elementni tanlaymiz, ya‟ni 
key=(+)/2, i=
j=


117 
6.3-rasm. Quicksort algoritmida o„rinlashtirish 
3. Chapdagi i-elementni key bilan solishtiramiz. Agar key kichik bo„lsa, 
keyingi qadamga o„tamiz. Aks holda i++ va shu qadamni takrorlaymiz. 
4. O„ngdagi j-element bilan key solishtiriladi. Agar key katta bo„lsa, keyingi 
qadamga o„tamiz, aks holda j-- va shu qadamni takrorlaymiz. 
5. i- va j-elementlarning o„rni almashtiriladi. Agar i<=j bo„lsa, 3-qadamga 
o„tiladi. 
Birinchi o„tishdan keyin tanlangan element o„zining joyiga kelib joylashadi. 
6. Endi shu ko„rilayotgan oraliqda key kalitning chap tomonida elementlar 
mavjud bo„lsa, ular ustida yuqoridagi amallarni bajarish lozim, ya‟ni ko„riladigan 
oraliq 0 dan key-1 gacha deb belgilanadi va 2-qadamga o„tiladi. Aks holda keyingi 
qadamga o„tiladi. 
7. Endi shu ko„rilayotgan oraliqda key kalitning o„ng tomonida elementlar 
mavjud bo„lsa, ular ustida yuqoridagi amallarni bajarish lozim, ya‟ni ko„riladigan 
oraliq key+1 dan n-1 gacha deb belgilanadi va 2-qadamga o„tiladi. Aks holda 
algoritm tugaydi. 
Shu algoritmga misol ko„rib chiqamiz.
Misol: Talabalar ism-sharifi va tartib raqamidan iborat jadvalni quicksort 
algoritmi bilan saralang va nechta o„rinlashtirish amalga oshirilganini aniqlang. 

Download 1.33 Mb.
1   ...   41   42   43   44   45   46   47   48   49




Download 1.33 Mb.
Pdf ko'rish