Differenza tra ordinamento per inserimento e ordinamento per selezione

Sommario:

Differenza tra ordinamento per inserimento e ordinamento per selezione
Differenza tra ordinamento per inserimento e ordinamento per selezione

Video: Differenza tra ordinamento per inserimento e ordinamento per selezione

Video: Differenza tra ordinamento per inserimento e ordinamento per selezione
Video: BUBBLE SORT - ITA 2024, Luglio
Anonim

Differenza chiave: ordinamento per inserimento e ordinamento per selezione

L'ordinamento per inserimento e l'ordinamento per selezione sono due algoritmi di ordinamento utilizzati per ordinare una raccolta di dati. A volte è necessario disporre i dati in un ordine specifico. Gli algoritmi di ordinamento sono meccanismi per ordinare un insieme di dati. Nell'ordinamento, i dati sono disposti secondo un ordine numerico o lessicografico. Se i dati sono ordinati correttamente, sarebbe facile cercare i dati più velocemente. Se i numeri di telefono in un elenco telefonico non sono ordinati, sarebbe difficile trovare un numero di telefono specifico. Allo stesso modo, se le parole del dizionario non sono disposte in ordine alfabetico, sarebbe molto difficile trovare le parole. Pertanto, l'ordinamento è utile nella vita quotidiana. In Informatica, ci sono algoritmi di ordinamento per ordinare una raccolta di dati. Due di questi algoritmi sono l'ordinamento per inserimento e l'ordinamento per selezione. L'ordinamento per inserimento è l'algoritmo di ordinamento che ordina l'array spostando gli elementi uno per uno. L'ordinamento di selezione è l'algoritmo di ordinamento che trova l'elemento più piccolo nell'array e scambia l'elemento con la prima posizione, quindi trova il secondo elemento più piccolo e lo scambia con l'elemento nella seconda posizione e continua il processo fino a quando l'intero array non viene ordinato. La differenza fondamentale tra l'ordinamento per inserimento e l'ordinamento per selezione è che l'ordinamento per inserimento confronta due elementi alla volta mentre l'ordinamento per selezione seleziona l'elemento minimo dall'intero array e lo ordina.

Cos'è l'ordinamento per inserimento?

Insertion sort è un algoritmo di ordinamento basato sul confronto sul posto. In questo metodo, l'array viene ricercato passo dopo passo. Gli elementi non ordinati vengono spostati e inseriti nella sottolista ordinata dell'array. L'algoritmo di ordinamento per inserimento può essere spiegato usando il seguente esempio.

Ad esempio, prendi l'array iniziale come 77, 33, 44, 11, 88. In questo algoritmo di ordinamento, il primo passaggio consiste nel selezionare l'elemento corrente.

L'elemento corrente è 77. L'elemento corrente viene confrontato con tutti gli elementi nella parte sinistra. Il 77, è il primo elemento e non ci sono elementi sul lato sinistro. L'indice della posizione attuale è 0.

Allora l'indice della posizione corrente viene incrementato di 1. Ora l'indice è 1 e l'elemento corrente è 33. Quando lo si confronta con l'elemento a sinistra, è minore di 77. Quindi entrambi questi valori vengono scambiati. Ora 33 è nell'indice 0 e 77 è nell'indice1.

Ora l'array è 33, 77, 44, 11, 88.

Di nuovo, l'indice viene incrementato. L'indice è 2 e l'elemento corrente è 44. Viene confrontato con gli elementi sul lato sinistro. 44 è inferiore a 77. Quindi questi due valori vengono scambiati. Ora l'array è 33, 44, 77, 11, 88. È necessario confrontare tutti gli elementi a sinistra. Quindi, il 44 viene confrontato con 33. 33 è minore di 44. Quindi quegli elementi non hanno bisogno di essere scambiati.

Ora l'array è 33, 44, 77, 11, 88.

Di nuovo, l'indice viene incrementato. L'indice è 3 e l'elemento corrente è 11. Viene confrontato con tutti gli elementi a sinistra. 11 è inferiore a 77, quindi quei due vengono scambiati. Ora l'array è 33, 44, 11, 77, 88. Quando si confrontano 11 e 44, 11 è inferiore a 44. Quindi quei due vengono scambiati. Ora gli array sono 33, 11, 44, 77, 88. Anche in questo caso 11 viene confrontato con 33. 11 è minore di 33, quindi quei due valori vengono scambiati.

Ora l'array è 11, 33, 44, 77, 88.

L'aumento dell'indice porterà l'indice a 4. Il valore è 88. È maggiore di 77. Quindi, non è necessario effettuare lo scambio. Infine, l'array ordinato è 11, 33, 44, 77, 88.

Differenza tra ordinamento per inserimento e ordinamento per selezione
Differenza tra ordinamento per inserimento e ordinamento per selezione

Figura 01: Esempio di ordinamento per inserimento

L'implementazione dell'ordinamento per inserimento è come sopra. L'array iniziale era 77, 33, 44, 11, 88. Dopo l'ordinamento, fornisce l'output 11, 33, 44, 77, 88.

Cos'è l'ordinamento di selezione?

L'ordinamento per selezione è un algoritmo di ordinamento basato sul confronto sul posto. Gli array sono divisi in sezioni. La parte ordinata è all'estremità sinistra. La parte non ordinata è all'estremità destra. Innanzitutto, dovrebbe essere trovato il valore più piccolo. Quindi viene scambiato con l'elemento sinistro. Ora quell'elemento è nell'array ordinato. Questo processo continua a spostare il confine dell'array non ordinato da un elemento a destra. L'algoritmo di ordinamento della selezione può essere spiegato utilizzando il seguente esempio.

Ad esempio, prendi l'array iniziale come 77, 33, 44, 11, 88, 22. In questo algoritmo di ordinamento, viene trovato il più piccolo nell'array. L'elemento più piccolo è 11. Viene scambiato con l'elemento nell'indice 0 dell'array.

Ora l'array è 11, 33, 44, 77, 88, 22.

L'elemento più piccolo è nell'indice 0, quindi 11 è ora ordinato. Dal resto degli elementi, il più piccolo è 22. Viene scambiato con l'elemento indice 1st.

Ora l'array è 11, 22, 44, 77, 88, 33.

Gli elementi 11 e 22 sono già ordinati. Dal resto, il valore più piccolo è 33. Viene scambiato con l'elemento dell'indice 2nd.

Ora l'array è 11, 22, 33, 77, 88, 44.

Gli elementi 11, 22 e 33 sono già ordinati. Dal resto, il valore più piccolo è 44. Viene scambiato con l'elemento dell'indice 3rd.

Ora l'array è 11, 22, 33, 44, 88, 66.

Gli elementi 11, 22, 33, 44 sono già ordinati. Gli elementi rimanenti sono 88 e 66. L'elemento 66 viene scambiato con l'elemento indice 4th.

Ora l'array è 11, 22, 33, 44, 66, 88.

È l'array ordinato utilizzando l'algoritmo di ordinamento per selezione.

Differenza chiave tra ordinamento per inserimento e ordinamento per selezione
Differenza chiave tra ordinamento per inserimento e ordinamento per selezione

Figura 02: Esempio di ordinamento per selezione

L'implementazione dell'ordinamento per inserimento è come sopra. L'array iniziale era 77, 33, 44, 11, 88. Dopo l'ordinamento, fornisce l'output 11, 33, 44, 77, 88.

Qual è la somiglianza tra l'ordinamento per inserimento e l'ordinamento per selezione?

Sia l'ordinamento per inserimento che l'ordinamento per selezione sono algoritmi di ordinamento

Qual è la differenza tra l'ordinamento per inserimento e l'ordinamento per selezione?

Ordinamento per inserimento e ordinamento per selezione

L'ordinamento per inserimento è l'algoritmo di ordinamento che ordina l'array spostando gli elementi uno per uno. L'ordinamento di selezione è l'algoritmo di ordinamento che trova l'elemento più piccolo nell'array e scambia l'elemento con la prima posizione, quindi trova il secondo elemento più piccolo e lo scambia con l'elemento nella seconda posizione e continua il processo fino a l'intero array è ordinato.
Processo
L'ordinamento per inserimento serve per ordinare la sottolista confrontando due elementi fino a quando l'intero array non è ordinato. L'ordinamento di selezione seleziona l'elemento minimo e lo scambia con la prima posizione, seleziona nuovamente il minimo per il resto e scambialo con la seconda posizione e continua questo processo fino alla fine.
Stabilità
Insertion sort è un algoritmo di ordinamento stabile. L'ordinamento per selezione non è un algoritmo di ordinamento stabile.

Riepilogo: ordinamento per inserimento e ordinamento per selezione

A volte è necessario ordinare i dati. In Informatica, ci sono algoritmi per ordinare i dati. Questo articolo ha discusso i due algoritmi di ordinamento che sono l'ordinamento per inserimento e l'ordinamento per selezione. L'ordinamento per inserimento è l'algoritmo di ordinamento che ordina l'array spostando gli elementi uno per uno. L'ordinamento di selezione è l'algoritmo di ordinamento che trova l'elemento più piccolo nell'array e scambia l'elemento con la prima posizione, quindi trova il secondo elemento più piccolo e lo scambia con l'elemento nella seconda posizione e continua il processo fino a quando l'intero array non viene ordinato. La differenza tra l'ordinamento per inserimento e l'ordinamento per selezione è che l'ordinamento per inserimento confronta due elementi alla volta mentre l'ordinamento per selezione seleziona l'elemento minimo dall'intero array e lo ordina.

Scarica il PDF di Ordinamento per inserimento e Ordinamento per selezione

Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui: Differenza tra ordinamento per inserimento e ordinamento per selezione

Consigliato: