Hi,
wir sollen einen binärbaum erstellen (zusätzlich mit einer tiefen Kopie) mit diesen methoden:
und die sollte zu dieser anwendung passen:
doch... jetzt stehe ich erstmal da und weiß nicht weiter...muss man diesen binärbaum wirklich mit referenzen machen? stimmt mein ansatz so weit?
ich habe auch im internet schon ein oder das andere programm dazu gesehen...doch wirklich verständlich waren sie nicht.
wir sollen einen binärbaum erstellen (zusätzlich mit einer tiefen Kopie) mit diesen methoden:
Java:
public class Node {
private String name;
private Node left;
private Node right;
int wert;
//Custom-Konstruktor
Node(String name){
//Erster Knoten(Wurzel)
name = "node"+wert;
wert = 1;
}
//Copy-Konstruktor kopiert ersten/aktuellen Knoten und alle untergeordneten
Node(Node node1){
name = "c_node"+wert;
}
addLeft(Node node){
//neues Objekt
Node neu = new Node("node"+wert);
//der Objektvariable left wird das neue Objekt zugewiesen
left = neu.Node("node"+wert);
//Wert steigt um 1
wert = (this.wert + 1);
}
addRight(Node node){
//neues Objekt
Node neu = new Node("node"+wert);
//der Objektvariable left wird das neue Objekt zugewiesen
right = neu.Node("node"+wert);
//Wert steigt um 1
wert = (this.wert + 1);
}
void output(){
//Ausgabe der Baumhierarchie als einfache Tabelle
}
}
und die sollte zu dieser anwendung passen:
Java:
public class Application {
public static void main(String[] args) {
// Initialisierung der Knoten
Node node1 = new Node("node1");
Node node2 = new Node("node2");
Node node3 = new Node("node3");
Node node4 = new Node("node4");
Node node5 = new Node("node5");
Node node6 = new Node("node6");
Node node7 = new Node("node7");
// Aufbau eines beispielhaften Binärbaums
node1.addLeft(node2);
node1.addRight(node3);
node2.addLeft(node4);
node3.addLeft(node5);
node3.addRight(node6);
node4.addLeft(node7);
// Erstelle tiefe Kopie des ersten Objekts des Baums
Node node = new Node(node1);
// Test und Ausgabe der Tiefen Kopie
System.out.printf("%-13s %n","Tiefe Kopie:");
node.output();
System.out.println();
// Test und Ausgabe des Originals
System.out.printf("%-13s %n","Original:");
node1.output();
System.out.println();
}
}
doch... jetzt stehe ich erstmal da und weiß nicht weiter...muss man diesen binärbaum wirklich mit referenzen machen? stimmt mein ansatz so weit?
ich habe auch im internet schon ein oder das andere programm dazu gesehen...doch wirklich verständlich waren sie nicht.