Ich habe eine verdammt lange Zeit versucht, dieses herauszufinden. Überall, wo ich hinsehe, scheint es mir nur zu erklären, wie man die Liste rekursiv durchquert (den Teil, den ich tatsächlich verstehe). Kann da jemand da raushauen, wie genau ich die Liste zunächst durchgehen kann und die tatsächlichen Vorgänger-/Nachfolgerknoten finde, damit ich sie in der Knotenklasse markieren kann? Ich muss in der Lage sein, einen einfachen binären Suchbaum zu erstellen und die Liste durchzugehen und die Nulllinks zum Vorgänger/Nachfolger umzuleiten. Ich habe etwas Glück mit einer Lösung etwa wie folgt hatte:Rechts ein binärer Baum fädeln
thread(node n, node p) {
if (n.left !=null)
thread (n.left, n);
if (n.right !=null) {
thread (n.right, p);
}
n.right = p;
}
die Vorgänger-/Nachfolgerknoten finden? ist das genauso wie Eltern und Kinder? Warum erstellst du einen Baum mit Löchern? – nlucaroni
Um jemanden zu klären, der Ihre Frage nicht vollständig verstanden hat, schätze ich, dass Sie versuchen, jeden Knoten eines Binärbaums mit seinem Vorgänger und Nachfolger zu verknüpfen (wie hier beschrieben: http: //en.wikipedia. org/wiki/Threaded_binary_tree), oder? – Suppressingfire