Binärer Suchbaum

S

SlaterB

Gast
> ****}
ist komische Syntax, kein Java

allgemein poste doch einfach die genaue Fehlermeldung die dann kommt und vielleicht auch die komplette Klasse
so dass man genau sehen kann, wo du eingefügt hast,
so dass man sie schnell testweise kopieren kann usw.
 

XHelp

Top Contributor
In Zeile 40 sind paar geschweifte Klammer zu viel, und es fehlt eine Klammer nach der add-Methode...
Zumindestmal auf den ersten Blick...
 

eRaaaa

Top Contributor
Hier sind alle BTSNode rot unterstrichen und die Fehlermeldung lautet:
Multiple marker at this line.
BTSNode cannot be resolved to a type.

Deine Klasse heißt ja auch BSTNode und nicht BTS... ?! Aber Allgemein sind da so einige komische Sachen ..(t.righ=tadd(x,t.right); } --> tadd?? ) Und damit das compareTo funzt müsstest du oben add(E x, BSTNode<E> t) schreiben. Dann fehlt ja auch irgendwie noch der Rückgabewert...und den Konsturktor new BTSNode(x); kann ich auf die Schnelle auch nicht finden.
Zu der Fehlermeldung bei add, schau mal wie die Methode heißt aus der du die add Methode aufrufen willst :)
Irgendwie ein ziemliches Durcheinander da...
 

deiwid

Mitglied
Ich schreib alles von Anfang an auf. Gestern war ich ein wenig verwirrt. Ich weiß nicht wie ich mit dem <E> in Java umgehen soll. Ich habe im Programm geschrieben, wo die Fehler sind. Bitte um Hilfe.

Java:
public class BinarySearchTree<E extends Comparable<E>> {

   protected class BSTNode<E extends Comparable<E>> {

      protected E value = null;
      protected BSTNode<E> left  = null;
      protected BSTNode<E> right = null;

      protected BSTNode(E v, BSTNode<E> l, BSTNode<E> r) {
         value = v;
         left  = l;
         right = r;
      }

      protected BSTNode add(E node, BSTNode<E> t) {
          if(node == null){
              node = new BSTNode(t); // Fehler bei new
          }
          else {
              if(t <= node.t){
                  node.left = add(node.left, t); //alle node. Fehler
              }
              else {
                   node.right = add(node.right, t);  }
          }
          return node;
      }

   protected BSTNode<E> root = null;

   public void add(int value) {
       root = add(root, value); } //Fehler, muss aber zwei Werte übergeben
   }
}
 

eRaaaa

Top Contributor
Mhm..macht es Sinn so weiter zu machen? Lese dich evlt. noch einmal in Generics ein und evtl. die letzten Vorlesungen :)
Java:
node = new BSTNode(t); // Fehler bei new
Wie oben schon gesagt, diesen Konstruktor(mit nur einem Parameter) gibt es nicht
Und was soll das überhaupt werden? node wird ja als Paramter der Methode übergeben (und ist btw vom Typ E/Comparable nicht BSTNode, was auch die anderen Fehler erklärt!)
 

deiwid

Mitglied
es macht immer Sinn:) Wie ein Binärbaum funkt weiß ich ja theoretisch. Es soll ja bei add nur ein wert eingefügt werden. Was ist der dritte WErt zum übergeben. Kenne nur die Version 2 Werte zu übergeben. Hab für den dritten Wert mal über null hingeschrieben. Immerhin habe ich jetzt verstanden was du meinst, danke! Außerdem habe ich es jetzt wie am Anfang auf compareTo umgeändert....
 
Zuletzt bearbeitet:

deiwid

Mitglied
so hier der Code noch schöner. hab mich jetzt ins zeug gelegt und mal wirklich nachgedacht:)

das einzige was mir jetzt noch unklar ist, welchen wert der dritte parameter haben soll. kenn den binären baum nur, dass man 2 parameter übergeben muss. bitte noch um eine kleine hilfe.

Java:
public class BinarySearchTree<E extends Comparable<E>> {

   protected class BSTNode<E extends Comparable<E>> {

      protected E value = null;
      protected BSTNode<E> left  = null;
      protected BSTNode<E> right = null;

      protected BSTNode(E v, BSTNode<E> l, BSTNode<E> r) {
         value = v;
         left  = l;
         right = r;
      }

      protected BSTNode<E> add( E x, BSTNode<E> l, BSTNode<E> r ) {
          if( l == null )
              l = new BSTNode<E>(x, l, r );
          else if( x.compareTo( l.value ) < 0 )
              l.left = add( x, l.left, null );
          else if( x.compareTo( l.value ) > 0 )
              l.right = add( x, l.right, null );
            // Duplicate
          return l;
      }
      

   protected BSTNode<E> root = null;

   public void add(E value) {
       root = add(value, root, null); } //Fehler, muss aber zwei Werte übergeben
   }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
L Binärer Suchbaum Java Basics - Anfänger-Themen 2
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
E binärer suchbaum Java Basics - Anfänger-Themen 8
K Binärer Suchbaum Java Basics - Anfänger-Themen 3
Q Binärer suchbaum Java Basics - Anfänger-Themen 2
Y Binärer Suchbaum Java Basics - Anfänger-Themen 5
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
E Binärer Suchbaum Java Basics - Anfänger-Themen 7
R binärer Suchbaum Java Basics - Anfänger-Themen 1
F Aufgabe Rekursion Binärer Baum Java Basics - Anfänger-Themen 15
H binärer String nach int convertieren Java Basics - Anfänger-Themen 3
T Binärer String zu Integer Java Basics - Anfänger-Themen 12
P Binärer Baum mit Composite-Entwurfsmuster Java Basics - Anfänger-Themen 2
S binärer string in negativen int umwandeln Java Basics - Anfänger-Themen 4
C binärer Exponentenbereich bezogen auf das Dezimalsystem Java Basics - Anfänger-Themen 2
G Binärer Baum Java Basics - Anfänger-Themen 3
M Binärer Baum Tiefe Java Basics - Anfänger-Themen 14
T binärer Baum Java Basics - Anfänger-Themen 3
R binärer Baum Java Basics - Anfänger-Themen 2
O Suchbaum Elternknoten finden Level eines Knoten bestimmen Java Basics - Anfänger-Themen 24
N ID3 - Suchbaum ertellen! Java Basics - Anfänger-Themen 0
M Suchbaum implementieren Java Basics - Anfänger-Themen 8
C Methoden Methode zu einem Binären Suchbaum 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
N Binären Suchbaum erstellen, nachzuvollziehen Java Basics - Anfänger-Themen 0
W binären Suchbaum Kantenanzahl Java Basics - Anfänger-Themen 3
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
N Tiefe im binären Suchbaum Java Basics - Anfänger-Themen 9
I Rekursives Löschen in Binärem Suchbaum Java Basics - Anfänger-Themen 2
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
G Binäre Suchbaum + Erstellung des Programmes Java Basics - Anfänger-Themen 4
Bierhumpen Suchbaum problem. Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben