Üdvözlöm, Ön a
Shellsort algorithm szó jelentését keresi. A DICTIOUS-ban nem csak a
Shellsort algorithm 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
Shellsort algorithm szót egyes és többes számban mondani. Minden, amit a
Shellsort algorithm szóról tudni kell, itt található. A
Shellsort algorithm szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
Shellsort algorithm é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
Shellsort algorithm (tsz. Shellsort algorithms)
- (informatika) Shellsort egy rendezőalgoritmus, amely Don Shell nevéhez fűződik (1959). A beillesztéses rendezés (Insertion Sort) továbbfejlesztése: tetszőleges távolságú (gap-beli) elemeket “csomagokba” gyűjt és előrendez, így a tényleges beillesztéses rendezés már viszonylag kis tologatásokkal dolgozik, gyorsabban konvergálva.
1. Algoritmus vázlata
- Gap-sorozat választása: egy csökkenő sorozat, például
.
- Minden gap-értékre (
) végrehajtunk egy
-lépéses beillesztéses rendezést:
- Vegyük sorra az indexeket
.
- Az
elemet „kikapjuk”, és „előrébb” tologatjuk a már
-részekre bontott szekvenciában, amíg a megfelelő helyre nem kerül.
- Végül gap = 1-nél a hagyományos Insertion Sort fut, de az adatsor már közel rendezett, így gyors.
ShellSort(A):
gaps = gap_sequence(n) // pl. n/2, n/4, …, 1
for each h in gaps:
for i = h to n-1:
temp = A
j = i
while j ≥ h and A > temp:
A = A
j = j - h
A = temp
2. Gap-sorozatok
A teljesítmény leginkább a gap-sorozattól függ:
Sorozat
|
Jellemző futásidő
|
Shell eredeti:
|
|
Hibbard:
|
|
Pratt:
|
|
Sedgewick
|
vagy jobb
|
Tokuda, Ciura stb.
|
gyakorlati leggyorsabb
|
A leggyakrabban használt gyakorlatban a Ciura-sorozat (1, 4, 10, 23, 57, 132, …) kiváló eredményeket ad.
3. Teljesítmény és jellemzők
- Átlagos futásidő: gap-sorozattól függően
és
körül.
- Legrosszabb eset: általában
, de megfelelő gap-sorozattal lejjebb szorítható.
- További előnyök:
- In-place: nem igényel extra memóriát.
- Stabilitás: nem stabil (azonos értékek sorrendje változhat).
- Egyszerű implementáció és jó gyakorlati sebesség közepes méretű tömbökön.
4. Mikor érdemes használni?
- Közepes méretű tömbök rendezésére (nagy
-re már mergesort vagy heapsort jobb).
- Ha memória-korlátozott környezetben in-place, stabilitás nélkül.
- Beágyazott rendszerekben, ahol egyszerű kódra és kis helyigényre van szükség.
Összefoglaló
A Shellsort egy intelligens beillesztéses rendezés gap-beli előrendezéssel, amely tetszőleges gap-sorozatokkal testre szabható, és gyakorlati alkalmazásokban—kis- és közepes méretekben—kiemelkedő hatékonyságot nyújt.