Algoritmo di ricerca sequenziale in JavaScript

La ricerca sequenziale è uno dei metodi più semplici per trovare un elemento all'interno di un array o di una lista. Questo algoritmo esamina ogni elemento uno per uno fino a quando non trova l'elemento cercato o raggiunge la fine della lista. Esploriamo in dettaglio il funzionamento e l'implementazione della ricerca sequenziale in JavaScript.

L'algoritmo di ricerca sequenziale analizza ogni elemento nell'array, partendo dall'inizio fino alla fine, confrontando ciascun elemento con la chiave di ricerca desiderata.

Il processo di ricerca coinvolge i seguenti passaggi:

  1. Inizio dall'inizio dell'array: si inizia dalla prima posizione dell'array.
  2. Confronto degli elementi: si confronta l'elemento corrente con la chiave di ricerca desiderata.
  3. Ricerca continua: si prosegue nell'array fino a quando non si trova l'elemento cercato o si raggiunge la fine dell'array.

Se l'elemento cercato è presente nell'array, la ricerca sequenziale restituirà l'indice della prima occorrenza. Altrimenti, se l'elemento non è presente, la ricerca terminerà restituendo un valore che indica l'assenza dell'elemento.

Implementazione della ricerca sequenziale in JavaScript

Ecco un'implementazione di base della ricerca sequenziale in JavaScript:

function ricercaSequenziale(arr, elementoCercato) {
	for (let i = 0; i < arr.length; i++) {
		if (arr[i] === elementoCercato) {
			return i; // Restituisce l'indice dell'elemento trovato
		}
	}
	return -1; // Restituisce -1 se l'elemento non è presente nell'array
}

Questa funzione ricercaSequenziale accetta un array e l'elemento da cercare come argomenti e restituisce l'indice della prima occorrenza dell'elemento cercato nell'array. Se l'elemento non viene trovato, viene restituito il valore -1.

let array = [64, 34, 25, 12, 22, 11, 90];
let elemento = 22;
console.log(ricercaSequenziale(array, elemento)); // Output: 4 (indice dell'elemento cercato)

Complessità temporale della ricerca sequenziale

La complessità temporale della ricerca sequenziale è lineare e dipende dalla dimensione dell'array. Nel caso peggiore, se l'elemento cercato è all'ultima posizione o non è presente, la ricerca dovrà scorrere tutto l'array, risultando in una complessità di O(n), dove "n" rappresenta la lunghezza dell'array.

La ricerca sequenziale è semplice ed efficiente per piccoli dataset o quando non si conosce la struttura dell'array. Tuttavia, su grandi dataset, altri algoritmi di ricerca come la ricerca binaria possono essere più efficienti.