Shellsort algorithm

Ü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. AShellsort 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)

  1. (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

  1. Gap-sorozat választása: egy csökkenő sorozat, például .
  2. 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.
  3. 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.