Texnalogiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot



Yüklə 67,31 Kb.
Pdf görüntüsü
səhifə4/5
tarix16.12.2023
ölçüsü67,31 Kb.
#183160
1   2   3   4   5
Jamshidbek

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*log2N 
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 
key 
bilan solishtiramiz. Agar 
key 
kichik bo’lsa, keyingi qadamga 
o’tamiz. Aks holda 

Yüklə 67,31 Kb.

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




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