Junior — Middle
¿Cómo se determina la complejidad temporal del algoritmo de búsqueda binaria?
sobes.tech AI
Respuesta de la IA
La complejidad temporal del algoritmo de búsqueda binaria se define como O(log n), donde n es la cantidad de elementos en el array ordenado. Esto se debe a que en cada paso el algoritmo divide el rango de búsqueda a la mitad, reduciendo la cantidad de elementos considerados a la mitad, hasta encontrar el elemento buscado o confirmar su ausencia.
Ejemplo en 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 no encontrado
}