Implementazione (Parte 2)
Lezione 6 di 9 del corso Ordinamento per inserimento - Serie DSA di Coddy.
Scenario: ordinare [5, 2, 9, 1, 5]
Passaggio 1: stato iniziale
- Array originale: [5, 2, 9, 1, 5]
- Immaginalo come la nostra mano di carte (o array di numeri).
Passaggio 2: primo elemento (i=1, key=2)
- Iniziamo con la seconda carta (elemento): key = 2.
- Confronta 2 con 5 (l'unico elemento ordinato finora).
- Poiché 2 è più piccolo, spostiamo 5 a destra e inseriamo 2 al suo posto.
- Array aggiornato: [2, 5, 9, 1, 5]
Passaggio 3: secondo elemento (i=2, key=9)
- Passa alla carta successiva: key = 9.
- Confronta 9 con 5.
- Poiché 9 è maggiore, non è necessario spostare nulla.
- Array aggiornato: [2, 5, 9, 1, 5] (nessuna modifica)
Passaggio 4: terzo elemento (i=3, key=1)
- Passa alla carta successiva: key = 1.
- Confronta 1 con 9, poi con 5.
- Sposta 9 e 5 a destra, facendo spazio per 1.
- Array aggiornato: [1, 2, 5, 9, 5]
Passaggio 5: quarto elemento (i=4, key=5)
- Passa alla carta successiva: key = 5.
- Confronta 5 con 9.
- Poiché 5 è più piccolo, non è necessario spostare nulla.
- Array aggiornato: [1, 2, 5, 9, 5] (nessuna modifica)
Passaggio 6: quinto elemento (i=5, key=5)
- Passa all'ultima carta: key = 5.
- Confronta 5 con 9.
- Poiché 5 è più piccolo, non è necessario spostare nulla.
- Array aggiornato: [1, 2, 5, 5, 9]
Risultato finale:
- Array ordinato: [1, 2, 5, 5, 9]
A ogni passaggio, scegliamo una carta (elemento), la confrontiamo con quelle ordinate e la posizioniamo nel punto giusto, spostando le altre se necessario. Ripetiamo questo processo finché l'intero array non è ordinato.
Sfida
FacileOra implementa il ciclo interno, che esegue l'ordinamento per ogni elemento.
Completa l'ordinamento all'interno della funzione insertionSort.
La funzione deve anche stampare gli elementi dell'array alla fine, uno per uno, con una nuova riga tra uno e l'altro.
Usa come riferimento le lezioni precedenti e il suggerimento :)
Provalo tu
def insertionSort(arr):
for i in range(1, len(arr)):
key = arr[i]
print(key)
Tutte le lezioni di Ordinamento per inserimento - Serie DSA
2L'algoritmo
Come funziona?PseudocodiceImplementazione (Parte 1)Implementazione (Parte 2)Esercitati da solo: Compilatore C online