def bfs_tree(node)
  queue = [node]

  while queue.size != 0
    n = queue.shift
    puts n.value
    n.children.each do |child|
      queue.push(child)
    end
  end
end

def bfs_binary_tree(node)
  queue = [node]

  while queue.size != 0
    n = queue.shift
    puts n.value
    queue.push(n.left) if n.left
    queue.push(n.right) if n.right
  end
end
