Middle
Come funziona la ricerca binaria in una lista ordinata?
sobes.tech AI
Risposta dell'AI
La ricerca binaria è un algoritmo per trovare un elemento in una lista ordinata con complessità logaritmica O(log n). Funziona secondo il principio di "dividi e conquista":
- Si determina l'elemento medio della lista.
- Se l'elemento cercato è uguale a quello medio, la ricerca termina.
- Se l'elemento cercato è minore di quello medio, la ricerca continua nella metà sinistra della lista.
- Se è maggiore, nella metà destra.
Il processo si ripete ricorsivamente o iterativamente finché l'elemento non viene trovato o l'intervallo di ricerca si esaurisce.
Esempio in Go:
func binarySearch(arr []int, target int) int {
left, right := 0, len(arr)-1
for left <= right {
mid := left + (right-left)/2
if arr[mid] == target {
return mid
} else if arr[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return -1 // elemento non trovato
}