Programmierer verwenden Java , um eine Vielzahl von Web-und Desktop-Anwendungen wegen seiner Cross-Plattform- Portabilität und ihrer Gründung am objektorientierten Programmierung Konzepte entwickeln gebaut . Java ermöglicht Programmierern zu bauen und zu manipulieren komplexe Datenstrukturen auf fast jedem System . Ein Programmierer könnte zum Beispiel , erstellen und verwenden eine binäre Baumstruktur , um Benutzerdaten während der Ausführung des Programms zu speichern. Allerdings könnte der Programmierer wollen die binären Baum zu löschen, in welchem Fall sie konnte jeden Knoten , eins nach dem anderen zu löschen. Things You
Java Developer Kit
Text -Editor oder Java Development Environment
brauchen anzeigen Weitere Anweisungen
1
Entwickeln Sie die Löschung Algorithmus in einem binären Baum Klasse. Wenn ein Programmierer entwickelt einen binären Baum , kann sie schaffen eine Deletion Algorithmus heraus zu löschen alle Daten auf allen Knoten vorhanden sind. Der Entwurf für einen binären Baum -Klasse, die eine Deletion Funktion umfasst wird wie folgt aussehen diesem Beispiel :
Klasse BinaryTree {
privaten Node links , private Node rechts ;
public void add () { //add item}
öffentlichen Node search ( int item ) {//sucht item}
öffentlichen Node getRoot () { //return Wurzelknoten }
public void ClearList (Node x ) {//löscht Baum }}
2
Entwickeln Sie die Löschung Algorithmus . Wenn " ClearList () " steht für die Funktion, die einen binären Baum löscht , dann ist die Funktion hat , die jedem Knoten gehen und erklären ihn als "null" Referenz, die Java Garbage Collection kann es zu löschen bedeutet . Das folgende Beispiel zeigt, wie dies zu tun mit einem Post-Order- Traversal , die rekursiv besucht jeden Knoten , und löscht beide Teilbäume dieses Knotens vor dem Löschen der Knoten :
public void ClearList (Node x ) {
if ( x == null ) {return ;}
ClearList ( x.left ); ClearList ( x.right ); x = null;
return;}
3
Rufen Sie die Löschfunktion . Um eine ganze binären Baum leer , könnte der Programmierer rufen Sie die Funktion mit dem Root-Knoten des Baumes. Auch könnte der Programmierer bestimmte Sub Bäume aus dem Baum zu löschen , indem sie einen bestimmten Knoten im Baum. Unter der Annahme, "BT " stellt einen binären Baum , zeigt das folgende Beispiel , wie dies zu tun :
BT.clearList ( BT.search (5) ); //löscht eine sub Baum unter dem Knoten, der " 5 " ; BT.clearList ( BT.getRoot ()); //löschen gesamten Baum