ComenzarEmpieza gratis

Búsqueda binaria mediante recursión

En este ejercicio, implementarás el algoritmo de búsqueda binaria que acabas de aprender utilizando recursión. Recuerda que una función recursiva es una función que se llama a sí misma.

Este ejercicio forma parte del curso

Estructuras de datos y algoritmos en Python

Ver curso

Instrucciones de ejercicio

  • Define el caso base.
  • Comprueba si el valor de búsqueda es igual al valor del centro.
  • Llama a la función binary_search_recursive() recursivamente en la mitad izquierda de la lista.
  • Llama a la función binary_search_recursive() recursivamente en la mitad derecha de la lista.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

def binary_search_recursive(ordered_list, search_value):
  # Define the base case
  if ____(ordered_list) == 0:
    return False
  else:
    middle = len(ordered_list)//2
    # Check whether the search value equals the value in the middle
    if search_value == ____:
        return True
    elif search_value < ordered_list[middle]:
        # Call recursively with the left half of the list
        return ____(ordered_list[:middle], search_value)
    else:
        # Call recursively with the right half of the list
        return ____
  
print(binary_search_recursive([1,5,8,9,15,20,70,72], 5))
Editar y ejecutar código