Frage bei Binärer Suchbaum

deiwid

Grünschnabel
Hi. ich kenne den binären suchbaum nur wo 2 Parameter übergeben werden, aber nicht drei. Hab beim dritten Parameter mal überall null geschrieben. Aber theoretisch kann das nicht stimmen denk ich.... bitte um kleine hilfe

Code:
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
   }
}
 
Hallo deiwid,
Also ich kenne den binären Suchbaum nur wie folgt: Ein Element anzuhängen bedeutet es entweder auf der linken oder auf der rechten Seite einzufügen (je nach Grösse des Schlüssels). Weshalb sollte es also eine Methode geben wo ein linkes und ein rechtes Element gleichzeitig angehängt werden kann, das gibt meiner Meinung nach keinen Sinn.
Ich finde diese Implementation als Anschauung gut: http://www.24bytes.com/Binary-Search-Tree.html
Freundliche Grüsse
CKingZesi
 
Zuletzt bearbeitet:
Zurück