Ejercicio00:00
¿Quieres un reto mayor?
Resuelve en 15:00
info
Importante: Para que se registre el resultado tienes que iniciar sesión.
Iterador que recorre un árbol binario en inorden
Difícil10 pts·Funciones
ruleRestricciones
- radio_button_uncheckedUsa yield en el generador
Enunciado
Implementa la función inorder(tree) que recorre un árbol binario en inorden (izquierda → raíz → derecha) usando un generador con yield.
El árbol se representa como un diccionario con las claves "val", "left" y "right". Los nodos hoja tienen "left": None y "right": None.
Instrucciones:
- Define una función generadora interna que use
yieldpara emitir valores en inorden. - Recorre recursivamente el subárbol izquierdo, luego emite el valor del nodo actual, luego el derecho.
- La función
inorderretorna la lista de valores en orden.
# Ejemplo de uso
tree = {"val": 4, "left": {"val": 2, "left": {"val": 1, "left": None, "right": None}, "right": {"val": 3, "left": None, "right": None}}, "right": {"val": 5, "left": None, "right": None}}
print(inorder(tree)) # [1, 2, 3, 4, 5]
Restriccionesexpand_more
- Dificultad: Difícil
- Completa todos los test cases para obtener los 10 puntos.
- No modificar la línea
exportal final del archivo. - Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.
Puedes usar print() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.
Inicia sesión para reaccionar
Inicia sesión para reaccionar