Ricerca sequenziale

La ricerca sequenziale o ricerca lineare è un algoritmo per trovare un valore in una lista . Consiste semplicemente nel considerare gli elementi della lista uno dopo l'altro, fino a quando l'elemento non viene trovato, oppure sono state lette tutte le caselle. Viene anche chiamata ricerca di scansione .

Principio

La ricerca sequenziale consiste nel prendere gli elementi della lista uno dopo l'altro, fino ad aver trovato il target, o ad aver esaurito la lista.

Complessità

La complessità temporale è O (n) per il caso peggiore e in media (per una distribuzione uniforme). È O (1) per la complessità nel migliore dei casi .

Se gli elementi dell'elenco sono ordinati per probabilità di query decrescenti e queste probabilità seguono una legge geometrica, la complessità in media sarà costante.

Confronto

Negli array ordinati, la ricerca dicotomica è molto più veloce nel peggiore dei casi (logaritmica). Se i dati sono spaziati in modo più uniforme, la ricerca per interpolazione è ancora più efficiente.

Note e riferimenti

  1. Frédéric Junier, "  Ricerca tabella mediante scansione  "

link esterno