24. Búsqueda binaria
Crea una función que implemente el algoritmo de búsqueda binaria para encontrar un elemento en una lista ordenada.
La función debe aceptar una lista ordenada de elementos y el elemento a buscar. Debe devolver el índice del elemento si se encuentra, o -1 si no está presente en la lista.
def busqueda_binaria(lista_ordenada: list, elemento_a_buscar) -> int:
# Tu código aquí
pass
busqueda_binaria([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 5)
# 4 (índice donde se encuentra el 5)
busqueda_binaria([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 1)
# 0
busqueda_binaria([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10)
# 9
busqueda_binaria([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 11)
# -1
busqueda_binaria(["a", "b", "c", "d"], "c")
# 2
Ratoncito
Implementa la búsqueda binaria de forma recursiva, tal como exigen las reglas del libro (prohibido bucles).
Dragón
Añade un parámetro opcional para que la función devuelva no solo la primera ocurrencia del elemento, sino el índice de la primera o la última ocurrencia en caso de que existan elementos duplicados.
This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.
Support me on Ko-fi