code: def bft(self):
          
          queue = deque([self])
          while queue:
              node = queue.pop()
              yield node
              if hasattr(node, "childs"):
                  queue.extendleft(node.childs)
docs: Generator that returns each element of the tree in Breadth-first order