Algorisme d'ordenació

(S'ha redirigit des de: Ordenació)

En informàtica i matemàtiques un algorisme d'ordenació és un algorisme que posa elements d'una llista seguint l'ordre donat per una relació d'ordre. Les relacions d'ordre més usades són l'ordre numèric i l'ordre lexicogràfic. Ordenar eficientment és important per a posteriorment usar en forma d'altres algorismes com els de recerca, merge, (per exemple, per a la comparació de llistes), atès que per a aplicar certs algorismes és necessari que prèviament els elements es trobin ordenats. També és útil per a posar dades en forma canònica i per a generar resultats llegibles per a humans.[1][2]

Classificació

Els algorismes d'ordenació es poden classificar de les següents formes:

  • Pel lloc des d'on es realitza l'ordenació:
    • Algorismes d'ordenació interna: a la memòria de l'ordinador.
    • Algorismes d'ordenació externa: a un lloc extern com pot ser un disc dur.
  • Pel temps que triguen a realitzar l'ordenació:
    • Algorismes d'ordenació natural: triga el mínim possible quan l'entrada ja és ordenada.
    • Algorismes d'ordenació no natural: triga el mínim possible quan l'entrada està inversament ordenada.
  • Per estabilitat: un ordenament estable manté l'ordre relatiu que tenien originalment els elements amb claus iguals. Per exemple, si una llista ordenada per data la reordenem per ordre alfabètic amb un algorisme estable, tots els elements la clau alfabètica dels quals sigui la mateixa quedaran ordenats per data. Un altre cas seria quan no interessen les majúscules i minúscules, però es vol que si una clau aBC era abans que AbC, en el resultat ambdues claus apareguin plegades i en l'ordre original: aBC, AbC.
Quan els elements són indistingibles (perquè cada element s'ordena per la clau completa) l'estabilitat no interessa. Els algorismes d'ordenació que no són estables es poden implementar per tal que ho siguin. Un sistema per fer-ho es modificant artificialment la clau d'ordenació i així la posició original en la llista participi de l'ordenament en cas de coincidència.

Els algorismes es distingeixen per les següents característiques:

  • complexitat computacional (pitjor cas, cas mitjà i millor cas) en termes de n, la mida de la llista o arrenjament. Per això s'usa el concepte d'ordre d'una funció i la notació O(n). El millor comportament per ordenar (si no s'aprofita l'estructura de claus) és O(n log n). Els algorismes més simples són quadràtics, és a dir, O(n²). Els algorismes que aprofiten l'estructura de les claus d'ordenació (Ex. bucket sort) poden ordenar en O(n k), on k és la mida de l'espai de claus. Com que la mida ja es coneix amb anteriotat, es pot dir que aquests algorismes tenen un sentit lineal, per tant O(n).
  • Ús de memòria i altres recursos computacionals. També s'utilitza la notació O(n).

Alguns algorismes d'ordenació agrupats segons l'estabilitat tenint en compte la complexitat computacional.


Estables
NomComplexitatMemòria addicional
Ordenament de bombolla (Bubblesort)O (n²)
Bombolla bidireccional (Cocktail sort)O (n²)
Ordenació per inserció (Insertion sort)O (n²)
Ordenació per caselles (Bucket sort)O (n)O(n)
Counting sortO (n+k)O(n+k)
Merge sortO (n log n)
Arbre binari (Binary tree sort)O (n log n)O(n)
Pigeonhole sortO (n+k)O(k)
Radix sortO (nk)O(n)
Stupid sortO (n³) versió recursivaO(n²)
Gnome sortO (n²)
Inestables
NomComplexitatMemòria addicional
Shell sortO (n1.25)
Comb sortO (n log n)
Selection sortO (n²)
HeapsortO (n log n)
SmoothsortO (n log n)
Ordenació ràpida (Quicksort)Mitjana: O (n log n),
pijor cas: O(n²)
Several Unique SortMitjana: O (n u),
pijor cas: O(n²);
u=n; u = nombre únic de registres
Qüestionables, inpràctics
NomComplexitatMemòria addicional
BogosortO (n × n!), pitjor: no acaba
Pancake sortingO (n), excepte en
màquines de Von Neumann
Randomsort

Vegeu també

Referències

Enllaços externs

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Algorisme d'ordenació
🔥 Top keywords: PortadaEspecial:CercaLliga de Campions de la UEFAJosep Maria Terricabras i NoguerasSidonie-Gabrielle ColetteRuben Wagensberg RamonAtemptats de Londres del 7 de juliol de 2005Reial Madrid Club de FutbolXavlegbmaofffassssitimiwoamndutroabcwapwaeiippohfffXRadóBisbeEspecial:Canvis recentsViquipèdia:ContactePompeiaEleccions al Parlament de Catalunya de 2024Alex de MinaurBàcul pastoralJosep Guardiola i SalaMadridJude BellinghamFC Bayern de MúnicCarles Puigdemont i CasamajóBarqueta de Sant PereBàculDiada de Sant JordiSant JordiInstagramRafael Nadal i PareraTor (Alins)Bisbe (Església Catòlica)SportArsenal Football ClubComarques de CatalunyaRodrigo Hernández CascanteSoftcatalàAndrí LuninEl paradís de les senyoresManuel de Pedrolo i MolinaTaula periòdica