1. Cos'è la Ricerca Sequenziale (Linear Search)?
La ricerca sequenziale (o lineare) è il metodo più semplice per trovare un elemento all'interno di una collezione non ordinata (come un vettore o una lista). L'algoritmo esamina ciascun elemento della sequenza uno alla volta, partendo dal primo fino all'ultimo, confrontandolo con il valore cercato (target) finché non trova una corrispondenza o esaurisce gli elementi.
A differenza della ricerca binaria, la ricerca sequenziale non richiede che i dati siano preventivamente ordinati, risultando ideale per insiemi di dati di piccole dimensioni o strutture non indicizzate.
2. Analisi della Complessità
- Complessità Temporale nel Caso Peggiore $\mathcal{O}(N)$: Si verifica quando l'elemento cercato si trova nell'ultima posizione o non è affatto presente nella collezione di $N$ elementi, costringendo l'algoritmo a esaminare l'intero vettore.
- Complessità Temporale nel Caso Migliore $\mathcal{O}(1)$: Si verifica quando l'elemento cercato coincide con il primo elemento esaminato.
- Complessità Spaziale $\mathcal{O}(1)$: L'algoritmo opera direttamente sulla struttura dati esistente senza richiedere memoria ausiliaria aggiuntiva.
3. Simulatore Interattivo: Esecuzione Ricerca Lineare
Inserisci una sequenza di numeri interi separati da virgola e un valore target per verificare l'andamento della ricerca passo dopo passo.