L'ordinamento di un insieme di elementi in un elenco è un'attività che si verifica spesso nella programmazione del computer. Spesso un essere umano può svolgere questo compito in modo intuitivo. Tuttavia, un programma per computer deve seguire una sequenza di istruzioni esatte per raggiungere questo obiettivo. Questa sequenza di istruzioni è chiamata algoritmo. Un algoritmo di ordinamento è un metodo che può essere utilizzato per posizionare un elenco di articoli non ordinati in una sequenza ordinata. La sequenza dell'ordine è determinata da una chiave. Esistono vari algoritmi di ordinamento, che differiscono in termini di efficienza e prestazioni. Alcuni algoritmi di ordinamento importanti e noti sono l'ordinamento a bolle, l'ordinamento per selezione, l'ordinamento per inserzione e l'ordinamento rapido.
Ordinamento a bolle
L'algoritmo di ordinamento a bolle funziona scambiando ripetutamente elementi adiacenti che non sono in ordina fino a quando l'intero elenco di articoli è in sequenza. In questo modo, gli elementi possono essere visti come gorgogliare l'elenco in base ai loro valori chiave.
Il vantaggio principale dell'ordinamento a bolle è che è popolare e facile da implementare. Inoltre, nell'ordinamento a bolle, gli elementi vengono scambiati in posizione senza utilizzare l'archiviazione temporanea aggiuntiva, quindi il requisito di spazio è minimo. Il principale svantaggio dell'ordinamento a bolle è il fatto che non si occupa bene di un elenco contenente un numero enorme di elementi. Questo perché l'ordinamento a bolle richiede passaggi di elaborazione n-quadrati per ogni n numero di elementi da ordinare. Come tale, l'ordinamento a bolle è adatto principalmente per l'insegnamento accademico ma non per le applicazioni della vita reale.
Ordinamento di selezione
L'ordinamento di selezione funziona esaminando ripetutamente l'elenco degli elementi, ogni volta selezionando un elemento in base al suo ordinamento e collocandolo nella posizione corretta nella sequenza.
Il vantaggio principale dell'ordinamento di selezione è che si comporta bene su un piccolo elenco. Inoltre, poiché si tratta di un algoritmo di ordinamento sul posto, non è necessaria alcuna memoria temporanea aggiuntiva oltre a quella necessaria per contenere l'elenco originale. Il principale svantaggio del tipo di selezione è la sua scarsa efficienza quando si tratta di un enorme elenco di articoli. Simile all'ordinamento a bolle, l'ordinamento di selezione richiede un numero n-quadrato di passaggi per l'ordinamento di n elementi. Inoltre, le sue prestazioni sono facilmente influenzate dall'ordinamento iniziale degli articoli prima del processo di smistamento. Per questo motivo, l'ordinamento di selezione è adatto solo per un elenco di pochi elementi che sono in ordine casuale.
Inserimento ordinamento
L'ordinamento di inserimento analizza ripetutamente l'elenco di elementi, ogni volta inserendo l'elemento nella sequenza non ordinata nella posizione corretta.
Il principale vantaggio del tipo di inserimento è la sua semplicità. Mostra anche una buona prestazione quando si tratta di un piccolo elenco. L'ordinamento per inserzione è un algoritmo di ordinamento sul posto, pertanto il requisito di spazio è minimo. Lo svantaggio dell'ordinamento di inserzione è che non funziona come altri, algoritmi di ordinamento migliori. Con i passaggi n quadrati richiesti per ogni elemento n da ordinare, l'ordinamento per inserzione non si occupa bene di un elenco enorme. Pertanto, l'ordinamento di inserzione è particolarmente utile solo quando si ordina un elenco di pochi elementi.
Ordinamento rapido
L'ordinamento rapido funziona secondo il principio di divisione e conquista. Innanzitutto, suddivide l'elenco degli elementi in due elenchi secondari basati su un elemento pivot. Tutti gli elementi nella prima lista secondaria sono disposti in modo da essere più piccoli del perno, mentre tutti gli elementi nella seconda lista secondaria sono disposti in modo da essere più grandi del perno. Lo stesso processo di partizionamento e organizzazione viene eseguito ripetutamente nelle liste secondarie risultanti fino a quando non viene ordinato l'intero elenco di elementi.
L'ordinamento rapido è considerato il miglior algoritmo di ordinamento. Ciò è dovuto al suo notevole vantaggio in termini di efficienza perché è in grado di gestire bene un vasto elenco di articoli. Dal momento che si ordina sul posto, non è richiesto anche spazio di archiviazione aggiuntivo. Il leggero svantaggio dell'ordinamento rapido è che le prestazioni nel caso peggiore sono simili alle prestazioni medie del tipo di bolla, inserimento o selezione. In generale, l'ordinamento rapido produce il metodo più efficace e ampiamente utilizzato per ordinare un elenco di qualsiasi dimensione dell'articolo.