Is het bucketsort-algoritme aanwezig?
Is het bucketsort-algoritme aanwezig?

Video: Is het bucketsort-algoritme aanwezig?

Video: Is het bucketsort-algoritme aanwezig?
Video: FIND YOUR PURPOSE - For People Who FEEL LOST In Life, LISTEN TO THIS CLOSELY! | Satpal Singh 2024, Mei
Anonim

Nee, het is geen in- plaats sorteren algoritme . Het hele idee is dat input soorten zichzelf als ze worden verplaatst naar de emmers . In het slechtste van de goede gevallen (sequentiële waarden, maar geen herhaling) is de extra benodigde ruimte zo groot als de originele array.

Welke sorteeralgoritmen zijn er op deze manier?

Als een ander voorbeeld herschikken veel sorteeralgoritmen arrays in de juiste volgorde, waaronder: bellen sorteren , kam sorteren, selectie sorteren, invoegsortering , heapsort en Shell-sortering. Deze algoritmen hebben slechts een paar wijzers nodig, dus hun ruimtecomplexiteit is O(log n). Quicksort werkt in-place op de te sorteren gegevens.

Vervolgens is de vraag, hoe werkt een bucketsort-algoritme? Emmer sorteren , of bin sorteren , is een sorteeralgoritme Dat werken door de elementen van een array te verdelen in een aantal emmers . Elk emmer is dan gesorteerd afzonderlijk, ofwel met een andere sorteeralgoritme , of door recursief de toe te passen algoritme voor het sorteren van emmers . Stel een array in van aanvankelijk lege " emmers ".

Dienovereenkomstig, hoe implementeer je een bucketsort-algoritme?

  1. Stel dat de invoerarray is: Maak een array van grootte 10.
  2. Voeg elementen in de buckets uit de array in. De elementen worden ingevoegd volgens het bereik van de emmer.
  3. De elementen van elke bucket worden gesorteerd met behulp van een van de stabiele sorteeralgoritmen.
  4. De elementen uit elke emmer worden verzameld.

Waar wordt emmersoort gebruikt?

Emmer sorteren is vooral handig als de invoer gelijkmatig over een bereik is verdeeld. Denk bijvoorbeeld aan het volgende probleem. Soort een grote reeks drijvende-kommagetallen die in het bereik van 0,0 tot 1,0 liggen en gelijkmatig over het bereik zijn verdeeld.

Aanbevolen: