Er bøttesorteringsalgoritmen på plass?
Er bøttesorteringsalgoritmen på plass?

Video: Er bøttesorteringsalgoritmen på plass?

Video: Er bøttesorteringsalgoritmen på plass?
Video: Bucket Sort Algorith / Radix Sort Algorithm | Bucket Sort In Data Structure | Simplilearn 2024, November
Anonim

Nei, det er ikke en inn- plass sortering algoritme . Hele ideen er det innspillet sorterer seg selv når de flyttes til bøtter . I det verste av de gode tilfellene (sekvensielle verdier, men ingen repetisjon) er den ekstra plassen som trengs like stor som den originale matrisen.

På denne måten, hvilke sorteringsalgoritmer er på plass?

Som et annet eksempel, omorganiserer mange sorteringsalgoritmer arrays til sortert rekkefølge på stedet, inkludert: boble sortering , kam sortering, utvalg sortering, innsettingssortering , heapsort og Shell sortering. Disse algoritmene krever bare noen få pekere, så plasskompleksiteten deres er O(log n). Quicksort opererer på plass på dataene som skal sorteres.

Deretter er spørsmålet, hvordan fungerer en bøttesorteringsalgoritme? Bøtte sortering , eller bin sortering , er en sorteringsalgoritme at virker ved å distribuere elementene i en matrise i et antall bøtter . Hver bøtte er da sortert individuelt, enten ved å bruke en annen sorteringsalgoritme , eller ved å bruke rekursivt bøttesorteringsalgoritme . Sett opp en rekke med opprinnelig tomme " bøtter ".

Følgelig, hvordan implementerer du en bøttesorteringsalgoritme?

  1. Anta at inndatamatrisen er: Lag en matrise med størrelse 10.
  2. Sett elementer inn i bøttene fra arrayet. Elementene settes inn i henhold til bøttens rekkevidde.
  3. Elementene i hver bøtte sorteres ved hjelp av en av de stabile sorteringsalgoritmene.
  4. Elementene fra hver bøtte er samlet.

Hvor brukes bøttesortering?

Bøtte sortering er hovedsakelig nyttig når input er jevnt fordelt over et område. Tenk for eksempel på følgende problem. Sortere et stort sett med flytende kommatall som er i området fra 0,0 til 1,0 og er jevnt fordelt over området.

Anbefalt: