24.04.2021
Kokteylni shaker saralash - Vikipediya
https://translate.google.com/translate?sl=en&tl=uz&u=https://en.wikipedia.org/wiki/Cocktail_shaker_sort
3/5
Kokteyl shaker sorti - bu
pufakchalarning
ozgina o'zgarishi .
[1]
Ro'yxat orqali pastdan yuqoriga
qayta-qayta o'tish o'rniga, pastdan yuqoriga, so'ngra yuqoridan pastgacha navbatma-navbat
o'tishi bilan farq qiladi. U standart pufakchadan ko'ra bir oz yaxshiroq ishlashga erishishi mumkin.
Buning sababi shundaki,
qabariq saralash
faqat bitta yo'nalishda ro'yxat orqali o'tadi va shuning
uchun elementlarni har bir iteratsiyada bir qadam orqaga qaytarish mumkin.
Ushbu fikrni isbotlovchi ro'yxatning misoli (2,3,4,5,1) ro'yxat bo'lib, u saralash uchun faqat bitta
mexnat turidan o'tishi kerak, ammo ko'tarilgan
pufakchadan
foydalanish to'rtta vaqtni oladi
belgilaydi
beginIdx =
1
;
endIdx =
uzunlik
( A )
- 1
;
while
beginIdx
<=
endIdx
newBeginIdx = endIdx ;
newEndIdx = beginIdx ;
uchun
II = beginIdx : endIdx
agar
A ( ii )
>
A ( ii
+ 1
) bo'lsa
[ A ( ii
+ 1
), A ( ii )] = bitim ( A ( ii ), A ( ii
+ 1
));
newEndIdx = ii ;
oxiri
oxiri
"endIdx" kamayadi, chunki "newEndIdx" dan keyingi elementlar to'g'ri
tartibda
endIdx = newEndIdx
- 1
;
uchun
II = endIdx :
- 1
: beginIdx
agar
A ( ii )
>
A ( ii
+ 1
) bo'lsa
[ A ( ii
+ 1
), A ( ii )] = bitim ( A ( ii ), A ( ii
+ 1
));
newBeginIdx = ii ;
oxiri
oxiri
"beginIdx" ni oshiradi, chunki "newBeginIdx" dan oldingi elementlar
to'g'ri tartibda
beginIdx = newBeginIdx
+ 1
;
oxiri
oxiri
Ko'pik turidan farqlar
24.04.2021
Kokteylni shaker saralash - Vikipediya
https://translate.google.com/translate?sl=en&tl=uz&u=https://en.wikipedia.org/wiki/Cocktail_shaker_sort
4/5
o'tadi. Shu bilan birga, bitta kokteylni saralashni ikkita ko'pikli o'tish deb hisoblash kerak. Odatda
mexnat sorti qabariq turiga nisbatan ikki baravar kam.
Boshqa bir optimallashtirish algoritm oxirgi haqiqiy almashtirish amalga oshirilgan joyni eslab
qolishi mumkin. Keyingi takrorlashda ushbu chegaradan oshib ketadigan svoplar bo'lmaydi va
algoritm qisqa paslarga ega. Kokteyl shakerining saralashi ikki tomonga qarab ketganda,
sinovdan o'tkazilishi mumkin bo'lgan svoplar diapazoni bir pasga kamayadi va shu bilan umumiy
ish vaqtini biroz qisqartiradi.
Yilda kokteyl shaker turdagi murakkabligi
katta Ey sanoq sistemasida
bo'ladi
eng yomon
holat uchun ham, o'rtacha ish uchun ham, lekin u yaqinroq bo'ladi
agar ro'yxat asosan
tartiblash algoritmini qo'llashdan oldin buyurtma qilingan bo'lsa. Masalan, agar har bir element u
tugaydigan holatdan maksimal darajada k (k-1) bilan farq qiladigan holatda bo'lsa, kokteyl shaker
sortining murakkabligi
Kokteyllarni shakerlash tartibi
Do'stlaringiz bilan baham: