Como você imprimiria os dados em uma árvore binária, nível por nível, começando no topo?
Esta é uma questão de entrevista
Eu penso em uma solução. Ele usa fila.
public Void BFS()
{
Queue q = new Queue();
q.Enqueue(root);
Console.WriteLine(root.Value);
while (q.count > 0)
{
Node n = q.DeQueue();
if (n.left !=null)
{
Console.Writeln(n.left);
q.EnQueue(n.left);
}
if (n.right !=null)
{
Console.Writeln(n.right);
q.EnQueue(n.right);
}
}
}
Pode alguma coisa pensar em uma solução melhor do que isso, que não usa o Queue?