Wie würden Sie die Daten in einem Binärbaum von oben beginnend Ebene für Ebene ausdrucken?
Dies ist eine Interviewfrage
Ich denke an eine Lösung. Es wird die Warteschlange verwendet.
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);
}
}
}
Gibt es eine bessere Lösung als diese, die Queue nicht verwendet?