Das Beispiel dieses Artikels beschreibt die Methode der Verwendung von Java zur Verwendung von Fusionen und Löschen, um den Knoten im binären Baum zu löschen. Teilen Sie es für alle für Ihre Referenz. Die spezifische Analyse ist wie folgt:
Die Idee der Implementierung ist sehr einfach:
Erstens: Finden Sie Knoten, die gelöscht werden sollen
Zweitens: Wenn der gelöschte Knoten nicht vorhanden ist
Drittens: Wenn die gelöschten Knoten nicht übrig sind, ist die linke Sub -Tree -Kette zum übergeordneten Knoten
Forther: Wenn die gelöschten Knoten links und rechts sind, können Sie nach dem Löschknoten den Sub -Tree zusammenführen des löschenden Knotens und der andere ist es, den linken Unterabzug des gelöschten Knotens mit dem linken Knoten der Anzahl der Wörter des gelöschten Knotens zu richten.
Die Java -Implementierung ist wie folgt:
Public void deleteByerring (int el) {intbstnode tmp, node, p = root, prev = null;/*Finden Sie den Knoten, der gelöscht werden soll*/while (p! = Null && key! .Key <el) p = P.Right; ) // Node hat keine rechten Kinder (falls vorhanden) an Knoten.left; an beigefügt ist ; // die Verbindung zwischen dem rechts den linken Unterbaum und dem rechten Subtreenode = node.left;} if (p == root) {root) = node; .left = node;} else prev.richt = node} else if (root! = null) {System.out.println ("Der Knoten ist nicht im Baum");Es ist zu hoffen, dass dieser Artikel für Java -Programmdesign aller hilfreich ist.