Un algoritmo di ricerca è un algoritmo che, data una sequenza di elementi, restituisce la posizione di un elemento cercato, se presente, o un valore nullo (tipicamente -1
) se non è presente.
Ricerca sequenziale
La ricerca sequenziale scorre ogni elemento e verifica se corrisponde o meno a quello cercato. È un approccio sempre possibile, quindi si può utilizzare in mancanza di altre informazioni.
Ricerca binaria o dicotomica
Se la lista di elementi è ordinata è possibile iniziare la ricerca da un punto più vicino all’elemento desiderato.
- Si controlla l’elemento a metà della sequenza;
- Se è l’elemento cercato si termina; se l’elemento è maggiore si cerca nella metà superiore, altrimenti in quella inferiore;
- Si continua dimezzando la sequenza fino a trovare l’elemento.