Quick actions

cmd+k|ctrl+k

Navigation

Languages

5_16_Algoritmos_fundamentales_desafio_3

Snippet info

Language

Python

Visibility

public

Author

jorgetoto2006new

Created

2024-11-08T01:55:02.051263Z

Updated

2024-11-08T01:55:02.051263Z

# Lista de estudiantes ordenada alfabéticamente
estudiantes = ["Ana", "Carlos", "Elena", "Jorge", "Luis", "María", "Sofía"]

# Función de búsqueda binaria para encontrar un estudiante
def busqueda_binaria(estudiantes, nombre_objetivo):
    inicio = 0
    fin = len(estudiantes) - 1

    while inicio <= fin:
        medio = (inicio + fin) // 2  # Calcula el índice medio

        # Compara el nombre del medio con el nombre objetivo
        if estudiantes[medio] == nombre_objetivo:
            return f"{nombre_objetivo} encontrado en la posición {medio}."
        elif estudiantes[medio] < nombre_objetivo:
            inicio = medio + 1  # Busca en la mitad derecha
        else:
            fin = medio - 1  # Busca en la mitad izquierda

    # Si no se encuentra el nombre, devuelve un mensaje adecuado
    return f"{nombre_objetivo} no se encuentra en la lista."

# Ejemplo de uso: Buscar un nombre específico
resultado = busqueda_binaria(estudiantes, "Jorge")
print(resultado)

# Ejemplo de uso para un nombre que no está en la lista
resultado = busqueda_binaria(estudiantes, "Ricardo")
print(resultado)
INFO