El proceso de montar un árbol es similar al proceso de montar una lista enlazada.
Cada invocación del constructor crea un solo nodo.

   1: class Arbol:

   2:     def __init__(self, carga, izquierda=None, derecha=None):

   3:         self.carga = carga

   4:         self.izquierda = izquierda

   5:         self.derecha = derecha

   6:     def __str__(self):

   7:         return str(self.carga)

 

La carga puede ser de cualquier tipo, pero los parámetros izquierda y derecha
deben ser arboles.Tanto izquierda como derecha son opcionales; el valor por
omisión es None.

Para imprimir un nodo, simplemente imprimimos la carga.
Una forma de construir un árbol es del fondo hacia arriba.

Asigne primero los nodos hijos:

   1: izquierda = Arbol(2)

   2: derecha = Arbol(3)

 

Luego cree el nodo padre y vincúlelo a los hijos:

   1: arbol = Arbol(1, izquierda, derecha);

 

Podemos escribir este código mas concisamente anidando las invocaciones al
constructor:

   1: >>> arbol = Arbol(1, Arbol(2), Arbol(3))

 

En cualquier caso, el resultado es el árbol del principio del capítulo.