5_15_Arboles_desafio_2

Run Settings
LanguagePython
Language Version
Run Command
# Definimos la clase Nodo que representa cada nodo del árbol. class Nodo: def __init__(self, valor): self.valor = valor self.izquierdo = None self.derecho = None # Construimos un árbol binario con números enteros en los nodos. # Ejemplo de árbol: # 1 # / \ # 2 3 # / \ / \ # 4 5 6 7 raiz = Nodo(1) raiz.izquierdo = Nodo(2) raiz.derecho = Nodo(3) raiz.izquierdo.izquierdo = Nodo(4) raiz.izquierdo.derecho = Nodo(5) raiz.derecho.izquierdo = Nodo(6) raiz.derecho.derecho = Nodo(7) # Implementamos la función para recorrer el árbol en inorden y calcular la suma de los nodos. def inorden_sumar(nodo): if nodo is None: # Caso base: si el nodo es nulo, no sumamos nada return 0 # Recorrido en inorden: sumamos primero el subárbol izquierdo, # luego el valor del nodo actual, y finalmente el subárbol derecho. suma_izquierda = inorden_sumar(nodo.izquierdo) suma_nodo_actual = nodo.valor suma_derecha = inorden_sumar(nodo.derecho) # Sumamos las partes y devolvemos el resultado. return suma_izquierda + suma_nodo_actual + suma_derecha # Llamamos a la función y mostramos el resultado. suma_total = inorden_sumar(raiz) print("La suma de todos los nodos del árbol es:", suma_total) # Debería imprimir: 28
Editor Settings
Theme
Key bindings
Full width
Lines