La ricerca lineare consiste nel controllare se ogni elemento dello spazio di ricerca corrisponde all’elemento cercato.
def ricerca(lista, x):
n = len(lista)
for elemento in lista:
if elemento == x:
return True
return False
- Caso pessimo: , bisogna scorrere su tutta la lista senza successo perché l’elemento non c’è.
- Caso ottimo: , l’elemento coincide col primo elemento della lista.
- Caso medio: ogni elemento ha pari probabilità di essere l’elemento cercato, (definiamo la lunghezza della lista) quindi trovare l’elemento cercato nella prima posizione costerà , il secondo costerà , il terzo e l’ultimo . La media di questi costi sarà , quindi la complessità media sarà . (coincide con il caso pessimo).