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).