Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Nodo:
- def __init__(self, valor):
- self.valor = valor
- self._hijos = []
- def __repr__(self):
- return 'Nodo({!r})'.format(self.valor)
- def agregar_hijo(self, nodo):
- self._hijos.append(nodo)
- def __iter__(self):
- return iter(self._hijos)
- def profundidad_primero(self):
- yield self
- for c in self:
- yield from c.profundidad_primero()
- if __name__ == '__main__':
- raiz = Nodo(0)
- hijo1 = Nodo(1)
- hijo2 = Nodo(2)
- raiz.agregar_hijo(hijo1)
- raiz.agregar_hijo(hijo2)
- hijo1.agregar_hijo(Nodo(3))
- hijo1.agregar_hijo(Nodo(4))
- hijo2.agregar_hijo(Nodo(5))
- for hijo in raiz.profundidad_primero():
- print(hijo)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement