Hi ha l'algoritme d'ordenació de cubs?
Hi ha l'algoritme d'ordenació de cubs?

Vídeo: Hi ha l'algoritme d'ordenació de cubs?

Vídeo: Hi ha l'algoritme d'ordenació de cubs?
Vídeo: HOW TO SOLVE A 2X2 RUBIK’S CUBE | the easiest way (no algorithm) 2024, De novembre
Anonim

No, no és una in- lloc classificació algorisme . La idea sencera és aquesta entrada classes ells mateixos quan es traslladen a la galledes . En el pitjor dels bons casos (valors seqüencials, però sense repetició) l'espai addicional necessari és tan gran com la matriu original.

D'aquesta manera, quins algorismes d'ordenació hi ha?

Com a altre exemple, molts algorismes d'ordenació reorganitzen les matrius en ordre ordenat al lloc, com ara: classificació de bombolles , classificació amb pinta, ordenació per selecció, ordenació d'inserció , Heapsort i Shell sort. Aquests algorismes requereixen només uns quants punters, de manera que la seva complexitat espacial és O(log n). Quicksort opera in situ amb les dades que s'han d'ordenar.

Posteriorment, la pregunta és, com funciona un algorisme d'ordenació de cubs? Classe de galleda , o classificació de paperera , és un algorisme d'ordenació això obres distribuint els elements d'una matriu en un nombre de galledes . Cadascú cubell és aleshores ordenat individualment, ja sigui utilitzant una altra algorisme d'ordenació , o aplicant recursivament el algorisme de classificació de cubs . Configura una matriu inicialment buida " galledes ".

En conseqüència, com implementeu un algorisme d'ordenació de cubs?

  1. Suposem que la matriu d'entrada és: Creeu una matriu de mida 10.
  2. Inseriu elements a les galledes de la matriu. Els elements s'insereixen segons el rang de la galleda.
  3. Els elements de cada cub s'ordenen mitjançant qualsevol dels algorismes d'ordenació estable.
  4. Es reuneixen els elements de cada galleda.

On s'utilitza la classificació de cubs?

Classe de galleda és principalment útil quan l'entrada es distribueix uniformement en un rang. Per exemple, considereu el problema següent. Ordena un gran conjunt de nombres de coma flotant que es troben en el rang de 0,0 a 1,0 i es distribueixen uniformement en tot el rang.

Recomanat: