Com s'utilitza l'ordenació de selecció

Com s'utilitza l'ordenació de selecció

L’ordenació de selecció és una tècnica d’ordenació que selecciona un element de llista i, a continuació, canvia el lloc amb un altre. Selecciona l'element més gran i el canvia amb un element a l'índex més alt de la llista.





L'algorisme ho fa repetidament fins que s'ordena la llista. Si no esteu segur del funcionament de la selecció, heu arribat al lloc adequat. A continuació, l'explicarem amb més profunditat, a més de mostrar-vos un exemple.





Ordenació de la selecció: una mirada més propera

Suposem que teniu la llista: [39, 82, 2, 51, 30, 42, 7]. Per ordenar la llista mitjançant l’ordenació de selecció, primer haureu de trobar-ne el nombre més alt.





Amb la llista donada, aquest nombre és 82. Intercanvieu 82 amb el número de l'índex més alt (és a dir, 7).

Després de la primera passada, el nou ordre de llista serà: [39, 7, 2, 51, 30, 42, 82]. Cada vegada que l'algorisme repassa tota la llista, això s'anomena 'passada'.



Tingueu en compte que la llista manté una sublista ordenada i una sublista no classificada durant el procés de classificació.

com fer un DVD arrencable

Relacionat: Què és la notació Big-O?





La llista original comença amb una llista ordenada de zero elements i una llista sense classificar de tots els elements. Després, després de la primera passada, té una llista ordenada que només té el número 82.

A la segona passada, el nombre més alt de la sublista sense classificar serà el 51. Aquest número s’intercanviarà amb 42 per donar el nou ordre de llista a continuació:





què significa lte al meu telèfon

[39, 7, 2, 42, 30, 51, 82].

El procés es repeteix fins que s'ordena tota la llista. La figura següent resumeix tot el procés:

Els números en negre negre mostren el valor de llista més alt en aquell moment. Els de color verd mostren la sublista ordenada.

Anàlisi d'algoritmes

Per obtenir la complexitat (mitjançant la notació Big-O) d'aquest algorisme, seguiu els passos següents:

A la primera passada, es fan comparacions (n-1). A la segona passada, (n-2). A la tercera passada, (n-3) i així successivament fins a la (n-1) passada, que només fa una comparació.

Resumint les comparacions a continuació es dóna:

(n-1) + (n-1) + (n-1) + ... + 1 = ((n-1) n) / 2.

Per tant, la selecció és O (n2).

Implementació del codi

El codi mostra les funcions que podeu utilitzar per realitzar una selecció mitjançant Python i Java.

Python:

def selectionSort(mylist):
for x in range(len(mylist) - 1, 0, -1):
max_idx = 0
for posn in range(1, x + 1):
if mylist[posn] > mylist[max_idx]:
max_idx = posn
temp = mylist[x]
mylist[x] = mylist[max_idx]
mylist[max_idx] = temp

Java:

void selectionSort(int my_array[]){
for (int x = 0; x {
int index = x;
for (int y = x + 1; y if (my_array[y] index = y; // find lowest index
}
}
int temp = my_array[index]; // temp is a temporary storage
my_array[index] = my_array[x];
my_array[x] = temp;
}}

Passant de l’ordenació de la selecció a la combinació de l’ordenació

Com ha demostrat l’anàlisi d’algoritmes anterior, l’algorisme de classificació de selecció és O (n2). Té una complexitat exponencial i, per tant, és ineficient per a conjunts de dades molt grans.

transferir fitxers del telèfon a l'ordinador

Un algorisme molt millor per fer servir seria la combinació d'ordres amb una complexitat d'O (nlogn). I ara ja sabeu com funciona l’ordenació de selecció, a continuació, a la llista d’estudi per als algoritmes d’ordenació, hauria de ser l’ordenació de combinació.

Compartir Compartir Tweet Correu electrònic Els vuit millors llocs web per descarregar audiollibres de forma gratuïta

Els audiollibres són una gran font d’entreteniment i són molt més fàcils de digerir. Aquests són els vuit millors llocs web on els podeu descarregar gratuïtament.

Llegiu a continuació
Temes relacionats
  • Programació
  • Programació
  • Algorismes
Sobre l'autor Jerome Davidson(22 articles publicats)

Jerome és escriptor de personal de MakeUseOf. Cobreix articles sobre programació i Linux. També és un entusiasta de la criptografia i manté sempre al dia la indústria de la criptografia.

Més de Jerome Davidson

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us