Binären Suchbaum erstellen, nachzuvollziehen

Nummer6800

Aktives Mitglied
Hallo.

Ich habe Probleme den binären Suchbaum nachzuvollziehen. Ich verstehe bei der Methode insertNode in der Klasse Searchtree nicht, wie damit ein Baum aufgebaut wird.

Hier die Inhalte und das Comparable implentiert:

Java:
public class Person implements Comparable {
 	String name;
 	String address;
 	
 	public Person(String n, String a) { 
 		name    = n;
 		address = a; 
 	}
 	
 	public int compareTo(Object o) {
 		return name.compareTo(((Person)o).name);
 	}
 	
}



Hier von welchem Typen das ist. Und natuerlich die Verzweigungen.

Java:
public class SearchTreeNode {
 	Comparable 		element;		// Objekt
 	SearchTreeNode 	left,right;		// Verzeigerung
 	
 	public SearchTreeNode(Comparable e, SearchTreeNode l, SearchTreeNode r) {
 		element = e;
 		left    = l;
        right   = r;
 	}
}



Ich bin die Sache durchgegangen Methode insertNode:

Erstes Element Hinzufuegen: root wird Werte etc zugewiesen

Zweites Element Hinzufuegen: erhalte ich als Ergebnis parent.left=new SearchTreeNode(c,null,null); oder parent.right=new SearchTreeNode(c,null,null);

Drittes Element Hinzufuegen: parent=null, child=root; dann immer noch danach parent=child; kann ich doch gar keinen Baum aufbauen???
Oder wo bleibt das zweite Element erhalten? Es verschwindet doch wieder.

Oder hat das was mit dem boolean zu tun?? Ich sehe fuer das boolean gar keine Bedeutung.

Java:
public class SearchTree {

 	SearchTreeNode root=null; 	


 	
 	public boolean insertNode(Comparable c) {    

        SearchTreeNode parent=null, child=root;
   
        // Blatt suchen, nachdem eingefuegt wird
        while(child!=null) {
            parent=child;
            int cmp = c.compareTo(child.element); // Vergleich
            if (cmp==0)     {return false;      } // Element doppelt?
            else if (cmp<0) {child=child.left;  } // links einfuegen
            else            {child=child.right; } // rechts einfuegen
        }
        
        // Einfuegen: root, links oder rechts
        if (parent==null)
            root=new SearchTreeNode(c,null,null);
        else if (c.compareTo(parent.element)<0)
            parent.left=new SearchTreeNode(c,null,null);
        else
            parent.right=new SearchTreeNode(c,null,null);

        return true;
  }

}




Hier z B was hinzfuegen zum Suchbaum in der main:
Java:
public class TestSearchTree {
 
    public static void main(String[] args) {
        Person p1 = new Person("Meier", "Holzweg 10");
        Person p2 = new Person("Mueller", "Holzweg 11");
        Person p3 = new Person("Mueller", "Wo anders");
        Person p4 = new Person("Schulze", "Holzweg 77");

        SearchTree st=new SearchTree();
        st.insertNode(p1); st.insertNode(p4);
        st.insertNode(p2); st.insertNode(p3);

    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Methoden Methode zu einem Binären Suchbaum Java Basics - Anfänger-Themen 8
W binären Suchbaum Kantenanzahl Java Basics - Anfänger-Themen 3
N Tiefe im binären Suchbaum Java Basics - Anfänger-Themen 9
L Binären Bäume für beliebige Datentypen Java Basics - Anfänger-Themen 15
M Binären Baum Kinder setzen Java Basics - Anfänger-Themen 12
U Input/Output Elemente eines Binären Suchbaums ausgeben Java Basics - Anfänger-Themen 10
L Indorder Traversierung eines binären Suchbaumes Java Basics - Anfänger-Themen 1
T Rekursiv Tiefe eines binären Suchbaums ermitteln Java Basics - Anfänger-Themen 22
T Algorithmus zur Überprüfung eines binären Suchbaums Java Basics - Anfänger-Themen 2
K Datentypen Umwandlung einer Textfeldeingabe in einen binären Wert Java Basics - Anfänger-Themen 2
J Ebene eines binären Baumes Java Basics - Anfänger-Themen 3
A OOP Binären Datenstrom in Datei schreiben Java Basics - Anfänger-Themen 4
E Alternativen zur binären Serialisierung ? Java Basics - Anfänger-Themen 9
N Rekursive Berechnung der Höhe eines binären Baumes Java Basics - Anfänger-Themen 4
G Pfadlänge eines binären Suchbaums Java Basics - Anfänger-Themen 4
H Tiefensuche im binären Baum Java Basics - Anfänger-Themen 2
G suchen und ersetzen in einer binären Datei Java Basics - Anfänger-Themen 4
H Löschen in einem binären Baum führt zu einem StackOverflow Java Basics - Anfänger-Themen 2
L Binären Baum speichern Java Basics - Anfänger-Themen 6
J String in binären Baum umwandeln Java Basics - Anfänger-Themen 7
Cassy3 Binärer Suchbaum Knoten rauslöschen Java Basics - Anfänger-Themen 1
G Java Binärer Suchbaum Java Basics - Anfänger-Themen 1
G Binärer Suchbaum Knoten zählen Java Basics - Anfänger-Themen 1
O Suchbaum Elternknoten finden Level eines Knoten bestimmen Java Basics - Anfänger-Themen 24
L Binärer Suchbaum Java Basics - Anfänger-Themen 2
N ID3 - Suchbaum ertellen! Java Basics - Anfänger-Themen 0
M Suchbaum implementieren Java Basics - Anfänger-Themen 8
J Suchbaum Java Basics - Anfänger-Themen 3
B Datentypen Suchbaum - Rekursive Ausgabe Java Basics - Anfänger-Themen 1
U Binärer Suchbaum delete Java Basics - Anfänger-Themen 1
S Binärer Suchbaum - Size als Variabel in innerer Klasse speichern Java Basics - Anfänger-Themen 2
G Rekursion Suchbaum Java Basics - Anfänger-Themen 2
W Löschen Datenknoten Suchbaum Java Basics - Anfänger-Themen 4
H Suchbaum iterativ absteigen? Java Basics - Anfänger-Themen 3
E binärer suchbaum Java Basics - Anfänger-Themen 8
K Binärer Suchbaum Java Basics - Anfänger-Themen 3
D Binärer Suchbaum Java Basics - Anfänger-Themen 11
Q Binärer suchbaum Java Basics - Anfänger-Themen 2
I Rekursives Löschen in Binärem Suchbaum Java Basics - Anfänger-Themen 2
Y Binärer Suchbaum Java Basics - Anfänger-Themen 5
A Suchbaum Java Basics - Anfänger-Themen 4
DasDogma Suche im Suchbaum Java Basics - Anfänger-Themen 2
D suchbaum out of heap space Java Basics - Anfänger-Themen 8
M Binärer Suchbaum Höhe Java Basics - Anfänger-Themen 6
G Hoffe jemand kann mir ein paar Tips geben:binärer Suchbaum Java Basics - Anfänger-Themen 3
G Binäre Suchbaum + Erstellung des Programmes Java Basics - Anfänger-Themen 4
E Binärer Suchbaum Java Basics - Anfänger-Themen 7
Bierhumpen Suchbaum problem. Java Basics - Anfänger-Themen 8
R binärer Suchbaum Java Basics - Anfänger-Themen 1
XWing Int erstellen lassen? Java Basics - Anfänger-Themen 11
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
A exe Datei erstellen Java Basics - Anfänger-Themen 8
J Packages erstellen Java Basics - Anfänger-Themen 7
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
C Gewinnspiel erstellen mit Algorithmus Java Basics - Anfänger-Themen 3
Ostkreuz Spielfeld Schatz erstellen Java Basics - Anfänger-Themen 5
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
laxla123 Dreieck erstellen Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
A Passwort erstellen Java Basics - Anfänger-Themen 3
S CVS erstellen Java Basics - Anfänger-Themen 1
RashAGhul Java Verwaltungstool Erstellen mit kaum Wissen Java Basics - Anfänger-Themen 9
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
dcHost Java Kara Sensor erstellen Java Basics - Anfänger-Themen 1
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U JList erstellen Java Basics - Anfänger-Themen 2
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
berserkerdq2 IO Streams logfile erstellen und Sachen schreiben wie? Java Basics - Anfänger-Themen 2
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
B Teilprofil erstellen Java Basics - Anfänger-Themen 1
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
T Log Funktion erstellen Java Basics - Anfänger-Themen 1
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
S Programm erstellen Java Basics - Anfänger-Themen 3
S MinMax Programm erstellen Java Basics - Anfänger-Themen 4
S Mit for-Schleife ein 2D JLabel-Array mit veränderbaren Icons erstellen Java Basics - Anfänger-Themen 3
T Countdown erstellen Java Basics - Anfänger-Themen 7
I ZIP File erstellen Java Basics - Anfänger-Themen 10
L Ordner in neuen erstellten Ordner erstellen Java Basics - Anfänger-Themen 12
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
B Zurück Button erstellen Java Basics - Anfänger-Themen 1
melaniemueller Lagerverwaltung erstellen - mehrdimensionale Arrays Java Basics - Anfänger-Themen 62
B JaxB - Referenzen erstellen? Java Basics - Anfänger-Themen 2
K Rekursion: Rechenmauer mit Array erstellen Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben