Üdvözlöm, Ön a
cocktail shaker sort szó jelentését keresi. A DICTIOUS-ban nem csak a
cocktail shaker sort szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a
cocktail shaker sort szót egyes és többes számban mondani. Minden, amit a
cocktail shaker sort szóról tudni kell, itt található. A
cocktail shaker sort szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
cocktail shaker sort és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.
Főnév
cocktail shaker sort (tsz. cocktail shaker sorts)
- (informatika) A Cocktail Shaker Sort (más néven: Bidirectional Bubble Sort, Cocktail Sort, vagy Shuttle Sort) egy egyszerű, de kevéssé hatékony rendezési algoritmus, amely a Bubble Sort továbbfejlesztett változata.
🧪 TL;DR – Röviden
- Típus: Összehasonlítás-alapú, in-place, nem stabil rendezés
- Működés: Buborékrendezés oda-vissza irányban
- Időbonyolultság:
- Legrosszabb eset:

- Legjobb eset (rendezett tömb):

- Memóriaigény:

🧠 Miért „koktélrázó”?
Az algoritmus a lista elején előrefelé halad, majd visszafelé, mint egy koktélrázó mozgása — innen a név.
⚙️ Működési elv
- Előrefelé: A legnagyobb elemet „felbuborékoltatja” a végére.
- Hátrafelé: A legkisebb elemet „lesüllyeszti” az elejére.
- Határok szűkítése: Minden iteráció után csökkenti a vizsgált tartományt.
- Addig ismétli, amíg nincs több csere → a tömb rendezett.
📊 Példa
Kezdet:
- Előre:
- Vissza:
- Előre:
- Vissza: nincs változás → kész.
📄 C++ Implementáció
void cocktailShakerSort(std::vector<int>& arr) {
bool swapped = true;
int start = 0;
int end = arr.size() - 1;
while (swapped) {
swapped = false;
// Előrefelé buborékolás
for (int i = start; i < end; ++i) {
if (arr > arr) {
std::swap(arr, arr);
swapped = true;
}
}
if (!swapped) break;
swapped = false;
--end;
// Visszafelé buborékolás
for (int i = end - 1; i >= start; --i) {
if (arr > arr) {
std::swap(arr, arr);
swapped = true;
}
}
++start;
}
}
📈 Időbonyolultság
Eset
|
Időbonyolultság
|
Legjobb (rendezett)
|
|
Átlagos
|
|
Legrosszabb
|
|
Térigény
|
in-place
|
✅ Előnyök
- Könnyen implementálható
- Jobb, mint sima Bubble Sort részben rendezett tömbök esetén
- Korán felismeri, ha kész a tömb (optimalizáció)
❌ Hátrányok
- Lassú nagy tömböknél
- Nem versenyképes a modern algoritmusokkal (pl. Quicksort, Mergesort)
- Nem stabil (egyenlő elemek sorrendje változhat)
🔍 Mikor használjuk?
- Oktatási célokra, algoritmusok szemléltetésére
- Ha egyszerűség fontos, nem a teljesítmény
- Kisebb tömbök vagy majdnem rendezett listák esetén
📚 Összefoglalás
A Cocktail Shaker Sort egy kétirányú Bubble Sort, amely oda-vissza rendezi a tömböt minden iterációban. Bár nem hatékony nagy adathalmazokkal, szemléletes és könnyen megérthető algoritmus.