Algoritmi Python

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

  1. Partire dall’indice 0.
  2. Confrontare l’elemento corrente con il valore cercato.
  3. Restituire l’indice se coincidono, altrimenti continuare.
  4. 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

Esegui codice →
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.

  1. Prova input vuoto, un elemento e duplicati.
  2. Stampa lo stato dopo ogni passaggio.
  3. Confronta le prestazioni con un’altra soluzione.
Esegui nell’IDE Python →