4-Mavzu: Kvadratik, logarifmik va chiziqli qiyinchilikdagi saralash algoritmlari Shell sort



Download 21,97 Kb.
bet1/3
Sana18.07.2022
Hajmi21,97 Kb.
#821492
  1   2   3
Bog'liq
4. Kvadratik, logarifmik va chiziqli qiyinchilikdagi saralash algoritmlari


4-Mavzu: Kvadratik, logarifmik va chiziqli qiyinchilikdagi saralash algoritmlari
Shell sort. Shell sort algoritmi Donald Shell tomonidan yaratilgan tartiblash algoritmidir. Bu algoritm joylash usulida tartiblashning umumlashgan variantidir. Joylash usulida tartiblash berilganlar deyarli tartiblangan ketma ketlikda berilgan holatda samarali ishlaydi. Ya’ni biror qismigina tartiblanmagan bo’lsa yaxshi ishlashi mumkin. Shell sort n bo’shliq algoritmi sifatida ham ishlatilishi mumkin. Bunda faqat qo’shni elementlarni o’rniga bir nechta qadam uzoqlikda joylashgan elementlarni ham solishtirish orqali tartiblash amalga oshiriladi. Bu qo’shni elementlar orasida bo’shliq yuzaga kelishiga olib keladi.
Joylash usulida tartiblashda solishtirish faqat qo’shni elementlar orasida amalga oshiriladi. Har bir solishtirishda ko’pi bilan 1 ta invariant hosil qilinishi mumkin. Shell sort algoritmining g’oyasiga ko’ra oxirgi qadamgacha qo’shni elementlar solishtirilmaydi. Ya’ni algoritmning so’ngi qadamidagina qo’shni elementlar solishtiriladi. Bu esa joylash usulida tartiblash algoritmiga bir biridan uzoqda joylashgan elementlarniyam solishtirish imkonini berish orqali uning samaradorligini oshirishdir. Demak shell sort algoritmi joylash usulida saralash algoritmining kengaytirilgan(samaradorligi oshirilgan) ko’rinishidir.
Algoritmning asosiy g’oyasi shundan iboratki massivdagi har bir h-elementni joyini o’zgartirishdir. h qancha uzoqlikdagi elementlarning joyi o’zgarishi mumkinligini bildiradi. Aytaylik h=13 bo’lsin. U holda birinchi (0-indeksdagi) element bilan 14-element (13-indeksdagi) bilan o’rin almashishi mumkin (agar zarur bo’lsa). Ikkinchi element 15-element bilan va hokazo. Agar h=1 bo’lsa joylash usulida tartiblashning o’zi bo’ladi.
Shell sort yetarlicha katta(elementlar sonidan kichik) h bilan boshlanadi. Joriy h uchun massiv to’liq tartiblangach h tartiblangan massiv hosil bo’ladi. Keyingi qadamda h biror ketma ketlik bo’yicha kamaytiriladi va keyingi h tartiblangan massiv hosil bo’ladi. Qachonki h birga teng bo’lsa va h tartiblangan massiv hosil bo’lsa massiv to’liq tartiblangan bo’ladi. Biroq bu bosqichda massiv deyarli tartiblangan holatga kelib qolgan va tartiblash uchun qulay ko’rinish hosil bo’lgan bo’ladi.
void ShellSort(int a[], int size){
int i, j, h, v;
for (h = 1; h = size / 9; h = 3 * h + 1){
for (;h>0;h=h/3){
for (i = h + 1; i = size; i += 1){
v = a[i];
j = i;
while (j > h && a[j - h] > v){
a[j] = a[j - h];
j -= h;
}
a[j] = v;
}
}
}
}

Download 21,97 Kb.

Do'stlaringiz bilan baham:
  1   2   3




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish