Is die emmersorteeralgoritme in plek?
Is die emmersorteeralgoritme in plek?

Video: Is die emmersorteeralgoritme in plek?

Video: Is die emmersorteeralgoritme in plek?
Video: To Live Is to Die (Remastered) 2024, Mei
Anonim

Nee, dit is nie 'n in- plek sorteer algoritme . Die hele idee is daardie insette soorte hulself as hulle geskuif word na die emmers . In die ergste van die goeie gevalle (opeenvolgende waardes, maar geen herhaling nie) is die bykomende spasie wat nodig is so groot soos die oorspronklike skikking.

Op hierdie manier, watter sorteeralgoritmes is in plek?

As 'n ander voorbeeld, herrangskik baie sorteeralgoritmes skikkings in gesorteerde volgorde in die plek, insluitend: borrel sorteer , kam sorteer, seleksie sorteer, invoeging sorteer , heapsorteer, en Shell sorteer. Hierdie algoritmes benodig slegs 'n paar wysers, so hul spasiekompleksiteit is O(log n). Quicksort werk in plek op die data wat gesorteer moet word.

Gevolglik is die vraag, hoe werk 'n emmersorteeralgoritme? Emmer sorteer , of bin sorteer , is 'n sorteer algoritme daardie werk deur die elemente van 'n skikking in 'n aantal te versprei emmers . Elkeen emmer is dan gesorteer individueel, óf met behulp van 'n ander sorteer algoritme , of deur die rekursiewe toepassing van die emmer sorteer algoritme . Stel 'n reeks aanvanklik leë " emmers ".

Gevolglik, hoe implementeer jy 'n emmersorteeralgoritme?

  1. Gestel die invoerskikking is: Skep 'n skikking van grootte 10.
  2. Plaas elemente in die emmers vanaf die skikking. Die elemente word ingevoeg volgens die omvang van die emmer.
  3. Die elemente van elke emmer word gesorteer deur enige van die stabiele sorteeralgoritmes te gebruik.
  4. Die elemente van elke emmer word versamel.

Waar word emmersortering gebruik?

Emmer sorteer is hoofsaaklik nuttig wanneer insette eenvormig oor 'n reeks versprei is. Oorweeg byvoorbeeld die volgende probleem. Sorteer 'n groot stel swaaipuntgetalle wat in die reeks van 0.0 tot 1.0 is en eenvormig oor die reeks versprei is.

Aanbeveel: