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.
Deja un comentario