Jak wydrukowałbyś dane w drzewie binarnym, poziom po poziomie, zaczynając od góry?
To pytanie wywiadu
Myślę o rozwiązaniu. Używa kolejki.
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);
}
}
}
Czy można myśleć o lepszym rozwiązaniu niż to, które nie korzysta z kolejki?