5_15_Arboles_desafio_1

Run Settings
LanguagePython
Language Version
Run Command
# Definimos la clase Nodo que representa cada nodo del árbol. # Un nodo tiene un valor y enlaces a su hijo izquierdo y derecho. class Nodo: def __init__(self, valor): self.valor = valor # El valor del nodo (en este caso, un número entero) self.izquierdo = None # Referencia al hijo izquierdo, inicialmente vacío self.derecho = None # Referencia al hijo derecho, inicialmente vacío # Construimos un árbol binario simple con al menos 3 niveles de profundidad. # Este es un ejemplo de cómo se arma un árbol: # 1 # / \ # 2 3 # / \ / \ # 4 5 6 7 raiz = Nodo(1) # Nodo raíz con valor 1 raiz.izquierdo = Nodo(2) # Hijo izquierdo de la raíz raiz.derecho = Nodo(3) # Hijo derecho de la raíz raiz.izquierdo.izquierdo = Nodo(4) # Hijo izquierdo del nodo 2 raiz.izquierdo.derecho = Nodo(5) # Hijo derecho del nodo 2 raiz.derecho.izquierdo = Nodo(6) # Hijo izquierdo del nodo 3 raiz.derecho.derecho = Nodo(7) # Hijo derecho del nodo 3 # Implementamos una función para recorrer el árbol en preorden. # En preorden, imprimimos primero el nodo actual, luego el subárbol izquierdo y después el subárbol derecho. def preorden(nodo): if nodo is not None: # Verificamos que el nodo no sea vacío print(nodo.valor, end=' ') # Imprimimos el valor del nodo actual preorden(nodo.izquierdo) # Llamamos a la función para recorrer el hijo izquierdo preorden(nodo.derecho) # Llamamos a la función para recorrer el hijo derecho # Ejecutamos la función preorden para imprimir los valores del árbol. print("Recorrido en preorden del árbol:") preorden(raiz) # Debería imprimir: 1 2 4 5 3 6 7
Editor Settings
Theme
Key bindings
Full width
Lines