Ricerca lineare in Python
La ricerca lineare funziona anche su dati non ordinati.
Che cos’è la ricerca lineare?
La ricerca lineare controlla gli elementi dall’inizio finché trova il valore cercato o raggiunge la fine. Non è necessario ordinare prima i dati.
Come funziona l’algoritmo
- Partire dall’indice 0.
- Confrontare l’elemento corrente con il valore cercato.
- Restituire l’indice se coincidono, altrimenti continuare.
- Restituire -1 dopo l’ultimo elemento se non ci sono corrispondenze.
Complessità: Tempo O(n) nel caso medio e peggiore, con spazio aggiuntivo O(1).
Visualizzatore di Ricerca lineare in Python
O(n)Usa Avvia o Passo per seguire ogni confronto e spostamento dei dati.
Codice di esempio
main.py
def linear_search(values, target):
for index, value in enumerate(values):
if value == target:
return index
return -1
print(linear_search([14, 3, 27, 8, 19], 8))
Output previsto
3
Come funziona
Ogni valore viene confrontato al massimo una volta: tempo O(n), memoria O(1).
Modifica i valori ed esegui il programma nel compilatore Python online CodeUtility senza installare Python.
Esercizi pratici
Modifica gli input e verifica i casi limite prima di usare dataset più grandi.
- Prova input vuoto, un elemento e duplicati.
- Stampa lo stato dopo ogni passaggio.
- Confronta le prestazioni con un’altra soluzione.