Binäre Bäume

evil

Aktives Mitglied
Hallo.
Ich habe ein Problem. Und zwar: möchte ich ein binären Baum implementieren, der 2 generische Implementierungen mit 2 Klassen besitzt.

Nun brauch ich ja zB eine Klasse Tree für die Elemente eines bestimmten Types. Und dann eine Klasse die die Typen über die Knoten verwaltet.

Leider weiß ich nicht genau, was nun in die Klassen hinein muss.Vielleicht kann man mir dort helfen.
Viele dank.
 

Landei

Top Contributor
Ungefähr so...
Java:
public class Tree<E extends Comparable<E>> {
   private Node<E> root = null;

   public void add(E e) {
       if(root == null) {
          root = new Node<E>(e);
       } else {
          root.add(e);
       }
   }
   ...
}


public class Node<E extends Comparable<E>> {
   private Node<E> left = null;
   private Node<E> right = null;
   private E e;
   public Node(E e) {
      this.e = e;
   }
   public void add(E e) {
      switch((int)Math.signum(this.e.compareTo(e))) {
      case 0 : return; //haben wir schon
      case 1 : if (left == 0) left = new Node(e) else left.add(e); return;
      case -1 : if (right == 0) right = new Node(e) else right.add(e); return;
      }
   }
   ...
}
 

evil

Aktives Mitglied
Hey.. Und wo die "..." sind, beschreib ich meine Methoden wie der Baum verarbeitet wird? Also als Preorder, Inorder,...?
 

evil

Aktives Mitglied
Java:
public class Tree<E extends Comparable<E>> {
   private TreeNode<E> root = null;
 
   public void add(E e) {
       if(root == null) {
          root = new TreeNode<E>(e);
       } else {
          root.add(e);
       }
   }
   ...
}
 
 
public class TreeNode<E extends Comparable<E>> {
   private TreeNode<E> left = null;
   private TreeNode<E> right = null;
   private E e;
   public Node(E e) {
      this.e = e;
   }
   public void add(E e) {
      switch((int)Math.signum(this.e.compareTo(e))) {
      case 0 : return; //haben wir schon
      case 1 : if (left == 0) left = new Node(e) else left.add(e); return;
      case -1 : if (right == 0) right = new Node(e) else right.add(e); return;
      }
   }
   
   public void traversePreorder() {
   	   if (e == null) 
   	   	   return;
   	   System.out.print("  " + e);
   	   left.traversePreorder();
   	   right.traversePreorder();
   }
   
   public void traverseInorder() {
   	   if (e == null)
   	   	   return;
   	   left.traverseInorder();
   	   System.out.print(" " + e);
   	   right.traverseIndorder();
   }
   
   public void traversePostorder() {
   	   if (e == null)
   	   	   return;
   	   left.traversePostorder();
   	   right.traversePostorder();
   	   System.out.print(" " + e);
   }
   
}

in etwa so?
 
Hey, hätte nochmal ein problem bzgl. Preorder und Inorder..
Ich muss zwei Methoden
Java:
public String getInOrder_iterativ() {
	}

public String getPreOrder_iterativ() {
	}
implementieren, welche den Inhalt des Baumes iterativ(!) in inorder und preorder
in einem String ausgeben... das ganze soll mittels eines Stacks geschehen...
Hab leider überhaupt keine ahnung was mir der stack daei bringen soll und wie
ich das am besten realisieren kann.. wäre echt dankbar für einen vorschlag?
gruß tobi
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
pkelod Binäre Darstellung Bitwise-Operator Java Basics - Anfänger-Themen 10
M binäre Suche im Intervall Java Basics - Anfänger-Themen 6
M binäre Suche Java Basics - Anfänger-Themen 4
amelie123456 Lineare Suche / Binäre Suche Java Basics - Anfänger-Themen 2
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
RudiRüssel Binäre Suche, unsortiert, lokales Maximum Java Basics - Anfänger-Themen 15
S Binäre-Suche Algorithmus Java Basics - Anfänger-Themen 1
S Binäre-Suche bei unsortierten Daten Java Basics - Anfänger-Themen 7
S binäre semaphore Java Basics - Anfänger-Themen 4
L Binäre Suche mit Comparator Java Basics - Anfänger-Themen 5
Aprendiendo Gibt es in der JAVA-API eine Funktion, die eine Dezimalzahl in eine binäre Zahl umwandelt? Java Basics - Anfänger-Themen 8
H Erste Schritte Binäre Suche Java Basics - Anfänger-Themen 37
A Binäre Addition Java Basics - Anfänger-Themen 15
H Rekursion Binäre Suche Java Basics - Anfänger-Themen 2
L Binäre Suche Java Basics - Anfänger-Themen 2
N Array, lineare Suche, binäre Suche, Programm bleibt unerwartet stehen... Java Basics - Anfänger-Themen 6
B Binäre Suche - Junit Test Java Basics - Anfänger-Themen 6
J Binäre Suche eines Array Java Basics - Anfänger-Themen 5
M Methoden Binäre Suche als rekursive Variante Java Basics - Anfänger-Themen 5
B Binäre Suche in einem String Array Java Basics - Anfänger-Themen 10
V Binäre Suchbäume Java Basics - Anfänger-Themen 1
M Binäre Suche Fehler überall =( Java Basics - Anfänger-Themen 2
M Compiler-Fehler Binäre Zahlen in Dezimalzahlen umrechnen Java Basics - Anfänger-Themen 3
K binäre Suchbäume Java Basics - Anfänger-Themen 3
D Binäre Suche für Integerarray in rekursiver Funktion Java Basics - Anfänger-Themen 5
A Binäre Addition Java Basics - Anfänger-Themen 5
W Compiler-Fehler Binäre Suche Java Basics - Anfänger-Themen 2
S Multi-Threaded Binäre Suche Java Basics - Anfänger-Themen 29
A Binäre Suche Java Basics - Anfänger-Themen 2
W Binäre Suche Java Basics - Anfänger-Themen 8
O String Binäre Suche Java Basics - Anfänger-Themen 6
M Binäre Suche, Elemente einfügen Java Basics - Anfänger-Themen 2
0x7F800000 wie pack ich komplette objekte in binäre dateien? Java Basics - Anfänger-Themen 4
A Binäre Suche; Java Basics - Anfänger-Themen 6
F Binäre Exponentiation Java Basics - Anfänger-Themen 9
M binäre Daten als Double einlesen Java Basics - Anfänger-Themen 22
M binäre daten einlesen Java Basics - Anfänger-Themen 2
G Binäre Suchbaum + Erstellung des Programmes Java Basics - Anfänger-Themen 4
R Binäre logische Operatoren Java Basics - Anfänger-Themen 21
P Bäume Java Basics - Anfänger-Themen 13
E Bäume/ allgemeine Fragen Java Basics - Anfänger-Themen 21
G Rot-Schwarz-Bäume Java Java Basics - Anfänger-Themen 10
M Rot Schwarz Bäume, ausführen? Java Basics - Anfänger-Themen 6
L Binären Bäume für beliebige Datentypen Java Basics - Anfänger-Themen 15
B Theorie Rot-Schwarz-Bäume Java Basics - Anfänger-Themen 2
D Klausur Vorbereitung: Listen, Rekursion, Bäume & Vererbung Java Basics - Anfänger-Themen 3
M Bäume und Listener Java Basics - Anfänger-Themen 2
L 2-3-4 Bäume Konstruktor Java Basics - Anfänger-Themen 2
W Bäume - containsValueRec Java Basics - Anfänger-Themen 2
R Crashkurs Listen / Bäume Java Basics - Anfänger-Themen 10
J bäume Java Basics - Anfänger-Themen 5
C Bäume in Java. Knoten in Array speichern Java Basics - Anfänger-Themen 3
C Bäume in Java. Code funktioniert nicht Java Basics - Anfänger-Themen 12
G Tertiäre Bäume Java Basics - Anfänger-Themen 2
G Bäume implementieren Java Basics - Anfänger-Themen 7
F Bäume in Java Java Basics - Anfänger-Themen 4
F Bäume zeichnen Java Basics - Anfänger-Themen 5
D n-näre Bäume (DOM) durchsuchen Java Basics - Anfänger-Themen 4
G Frage zur Bäume ? Java Basics - Anfänger-Themen 3
L [Aufgabe] Huffman Bäume Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben