Cómo hacer una búsqueda binaria en Python – Resuelto

¿Qué es la búsqueda binaria?

La búsqueda binaria es un algoritmo de búsqueda eficiente que se utiliza para encontrar un elemento en una lista ordenada. En lugar de buscar secuencialmente cada elemento en la lista, la búsqueda binaria divide repetidamente la lista por la mitad y determina en qué mitad se encuentra el elemento buscado. Este proceso se repite hasta que se encuentra el elemento o se determina que no está en la lista.

Cómo implementar una búsqueda binaria en Python

Para implementar una búsqueda binaria en Python, primero necesitamos una lista ordenada en la que buscar el elemento. A continuación, definimos una función que tomará la lista y el elemento que queremos buscar como argumentos. Aquí hay un ejemplo de cómo hacer una búsqueda binaria en Python:

def busqueda_binaria(lista, elemento):

inicio = 0

fin = len(lista) - 1

while inicio <= fin: medio = (inicio + fin) // 2 if lista[medio] == elemento: return medio elif lista[medio] < elemento: inicio = medio + 1 else: fin = medio - 1 return -1

En este ejemplo, la función `busqueda_binaria` toma una lista ordenada `lista` y un elemento `elemento` como argumentos. Luego, se inicializan las variables `inicio` y `fin` para representar los índices extremos de la lista. Dentro del bucle while, se calcula el índice medio y se compara el elemento en ese índice con el elemento que estamos buscando. Si el elemento se encuentra en el índice medio, se devuelve ese índice. Si el elemento es mayor que el elemento en el índice medio, se ajusta el índice de inicio para buscar en la mitad derecha de la lista. Si el elemento es menor, se ajusta el índice de fin para buscar en la mitad izquierda de la lista. Este proceso se repite hasta que se encuentra el elemento o se determina que no está en la lista.

Ejemplo de uso de la búsqueda binaria

Veamos un ejemplo de cómo usar la función `busqueda_binaria` con una lista ordenada:

lista = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

elemento = 5

resultado = busqueda_binaria(lista, elemento)

if resultado != -1:

print(f"El elemento {elemento} está en la posición {resultado}")

else:

print(f"El elemento {elemento} no está en la lista")

En este ejemplo, tenemos una lista ordenada del 1 al 10 y queremos buscar el elemento 5. Llamamos a la función `busqueda_binaria` con la lista y el elemento como argumentos y almacenamos el resultado en la variable `resultado`. Luego, comprobamos si el resultado es diferente de -1 (indicando que se encontró el elemento) y mostramos el mensaje correspondiente.

Con este ejemplo, ahora sabes cómo implementar y utilizar una búsqueda binaria en Python para encontrar elementos de manera eficiente en listas ordenadas. ¡Espero que este artículo te haya sido útil!