logo

Algoritmi di ordinamento

L'ordinamento è il processo di disposizione degli elementi di un array in modo che possano essere posizionati in ordine ascendente o discendente. Ad esempio, considera un array A = {A1, A2, A3, A4, ?? An }, l'array viene chiamato in ordine crescente se gli elementi di A sono disposti come A1 > A2 > A3 > A4 > A5 > ? > Un.

dividere le stringhe c++

Considera un array;

int A[10] = { 5, 4, 10, 2, 30, 45, 34, 14, 18, 9 )

L'array ordinato in ordine crescente verrà fornito come;

A[] = { 2, 4, 5, 9, 10, 14, 18, 30, 34, 45 }

numero da stringare java

Esistono molte tecniche mediante le quali è possibile eseguire l'ordinamento. In questa sezione del tutorial, discuteremo ciascun metodo in dettaglio.

Algoritmi di ordinamento

Gli algoritmi di ordinamento sono descritti nella tabella seguente insieme alla descrizione.

SN Algoritmi di ordinamento Descrizione
1 Ordinamento a bolle È il metodo di ordinamento più semplice che esegue l'ordinamento spostando ripetutamente l'elemento più grande nell'indice più alto dell'array. Comprende il confronto di ciascun elemento con il suo elemento adiacente e la sua sostituzione di conseguenza.
2 Ordinamento del secchio L'ordinamento per bucket è noto anche come ordinamento per bin. Funziona distribuendo l'elemento nell'array chiamato anche bucket. In questi algoritmi di ordinamento, i bucket vengono ordinati individualmente utilizzando un algoritmo di ordinamento diverso.
3 Ordinamento a pettine Comb Sort è la forma avanzata di Bubble Sort. Bubble Sort confronta tutti i valori adiacenti mentre l'ordinamento a pettine rimuove tutti i valori della tartaruga o i valori piccoli vicino alla fine dell'elenco.
4 Conteggio dell'ordinamento È una tecnica di ordinamento basata sulle chiavi, ovvero gli oggetti vengono raccolti in base a chiavi che sono piccoli numeri interi. L'ordinamento conteggio calcola il numero di occorrenze di oggetti e ne memorizza i valori chiave. Il nuovo array viene formato aggiungendo gli elementi chiave precedenti e assegnandoli agli oggetti.
5 Ordinamento heap Nell'ordinamento dell'heap, l'heap minimo o l'heap massimo viene mantenuto dagli elementi dell'array a seconda della scelta e gli elementi vengono ordinati eliminando l'elemento radice dell'heap.
6 Ordinamento per inserimento Come suggerisce il nome, l'ordinamento per inserzione inserisce ogni elemento dell'array nella posizione corretta. È un metodo di ordinamento molto semplice che viene utilizzato per sistemare il mazzo di carte mentre si gioca a bridge.
7 Unisci ordinamento L'ordinamento di unione segue l'approccio divide et impera in cui l'elenco viene prima diviso in insiemi di elementi uguali e quindi ciascuna metà dell'elenco viene ordinata utilizzando l'ordinamento di unione. L'elenco ordinato viene nuovamente combinato per formare un array ordinato elementare.
8 Ordinamento rapido L'ordinamento rapido è l'algoritmo di ordinamento più ottimizzato che esegue l'ordinamento nei confronti O (n log n). Come l'ordinamento Unisci, anche l'ordinamento rapido funziona utilizzando l'approccio divide et impera.
9 Ordina radice Nell'ordinamento Radix, l'ordinamento viene eseguito nello stesso modo in cui ordiniamo i nomi in base al loro ordine alfabetico. È l'algoritmo di ordinamento lineare utilizzato per Inegers.
10 Ordinamento della selezione L'ordinamento della selezione trova l'elemento più piccolo nell'array e lo posiziona al primo posto nell'elenco, quindi trova il secondo elemento più piccolo nell'array e lo posiziona al secondo posto. Questo processo continua finché tutti gli elementi non vengono spostati nell'ordine corretto. Trasporta il tempo di esecuzione O(n2) che è peggiore dell'ordinamento per inserzione.
undici Ordinamento della shell L'ordinamento a shell è la generalizzazione dell'ordinamento per inserzione che supera gli inconvenienti dell'ordinamento per inserzione confrontando elementi separati da uno spazio di diverse posizioni.