Suma de Caminos en Árboles Binarios

Clase 10 de 52Curso de Algoritmos Avanzados: Grafos y Árboles

Contenido del curso

DFS

BFS

Backtrack

Resumen

Resolver problemas con árboles binarios es una habilidad fundamental en programación, y el ejercicio "Sum Root to Leaf Numbers" es un ejemplo perfecto para practicar recorridos desde la raíz hasta las hojas. Aquí se explica en detalle cómo funciona este problema y qué debes considerar antes de intentar resolverlo.

¿En qué consiste el problema sum root to leaf numbers?

El enunciado indica que recibes la raíz de un árbol binario cuyos nodos contienen únicamente dígitos del cero al nueve [0:15]. Cada camino desde la raíz hasta un nodo hoja forma un número entero, y el objetivo es retornar la suma total de todos esos números.

Lo importante aquí es entender cómo se construye cada número:

  • El dígito que está más arriba en la jerarquía del árbol ocupa la posición más significativa, es decir, más hacia la izquierda del número.
  • Conforme se desciende por el árbol, cada nuevo nodo agrega un dígito a la derecha.
  • Si un camino pasa por los nodos 1, 2 y 3, el número resultante es 123 [0:42].

Un nodo hoja es aquel que no tiene hijos, ni a la izquierda ni a la derecha. Solo los caminos que terminan en una hoja cuentan para la suma final.

¿Cómo se calcula la suma con un ejemplo práctico?

Consideremos un árbol binario sencillo con tres nodos: el nodo raíz es 1, su hijo izquierdo es 2 y su hijo derecho es 3 [0:30].

Desde la raíz hasta cada hoja se forman dos caminos:

  • Camino izquierdo: nodos 1 → 2, lo que forma el número 12.
  • Camino derecho: nodos 1 → 3, lo que forma el número 13.

La suma de ambos números es 12 + 13 = 25, que es el valor que la función debe retornar [0:56].

¿Qué recibe y qué devuelve la función?

La firma es directa: se recibe solo la raíz del árbol, que es un nodo, y se debe devolver un entero con la suma total de todos los números formados por los caminos raíz-hoja [1:05].

¿Qué estrategias puedes considerar para resolverlo?

Antes de ver una solución, vale la pena reflexionar sobre qué herramientas y técnicas aplicar:

  • Recorrido en profundidad (DFS): permite explorar cada camino completo desde la raíz hasta las hojas, acumulando el número en cada paso.
  • Recursión: al tratarse de un árbol binario, la recursión es una forma natural de recorrer las ramas izquierda y derecha.
  • Acumulador de valor: a medida que se baja por el árbol, se multiplica el valor acumulado por diez y se suma el dígito del nodo actual. Así se construye el número posicional correctamente.

Por ejemplo, si el acumulador lleva el valor 1 y se llega al nodo 2, el nuevo valor sería 1 * 10 + 2 = 12. Si después se llegara a un nodo 3, sería 12 * 10 + 3 = 123.

Este patrón de multiplicar por diez y sumar el dígito es la clave para construir el número entero que representa cada camino [0:42].

La invitación es a pensar qué recursos de recorridos de árboles y recursión puedes aplicar, escribir tu análisis y compartirlo en los comentarios antes de ver la solución propuesta.

      Suma de Caminos en Árboles Binarios