de.luschny.struct.bintree
Class BinaryTree

java.lang.Object
  |
  +--de.luschny.struct.bintree.BinaryTree

public class BinaryTree
extends java.lang.Object

Ein binaerer Baum ist eine Kette von Knoten, wobei jeder Knoten einen Wert (ein Datenelement) enthaelt und Verweise auf die am Knoten haengenden Unterbaeume, von denen ein Knoten maximal zwei haben kann. Betrachtet man die Beziehungen lokal, spricht man auch vom Elternknoten und dem linken bzw. rechten Kindknoten. Jeder Knoten im Baum hat einen eindeutigen Elternknoten - mit einer Ausnahme: die Wurzel des Baums hat keinen Elternknoten.


Inner Class Summary
 class BinaryTree.Node
          Ein Node ist (ein Zeiger auf) ein Grundelement eines Binaeren Baums.
 
Constructor Summary
BinaryTree()
          Konstruiert einen (leeren) Binärbaum.
 
Method Summary
 void clear()
          Loescht alle Knoten im Baum.
 java.lang.Object get(BinaryTree.Node pos)
          Liefert den Wert eines Knoten.
 BinaryTree.Node getLeftChild(BinaryTree.Node parent)
          Liefert den linken Kindknoten.
 BinaryTree.Node getRightChild(BinaryTree.Node parent)
          Liefert den rechten Kindknoten.
 BinaryTree.Node getRoot()
          Liefert die Wurzel des Baums.
 void replace(java.lang.Object value, BinaryTree.Node pos)
          Ersetzt den Wert des Knoten durch den angereichten Wert.
 void setLeftChild(java.lang.Object value, BinaryTree.Node parent)
          Setzt den Wert des linken Kindknotens.
 void setRightChild(java.lang.Object value, BinaryTree.Node parent)
          Setzt den Wert des rechten Kindknotens.
 void setRoot(java.lang.Object value)
          Setzt den Wert der Wurzel des Baums.
 int size(BinaryTree.Node parent)
          Liefert die Anzahl der Knoten im Teilbaum.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BinaryTree

public BinaryTree()
Konstruiert einen (leeren) Binärbaum.
Method Detail

getRoot

public BinaryTree.Node getRoot()
Liefert die Wurzel des Baums.
Returns:
Baumwurzel

getLeftChild

public BinaryTree.Node getLeftChild(BinaryTree.Node parent)
Liefert den linken Kindknoten.
Parameters:
node - betrachteter Elternknoten
Returns:
Wurzel des linken Teilbaums

getRightChild

public BinaryTree.Node getRightChild(BinaryTree.Node parent)
Liefert den rechten Kindknoten.
Parameters:
parent - betrachteter Elternknoten
Returns:
Wurzel des rechten Teilbaums

setRoot

public void setRoot(java.lang.Object value)
Setzt den Wert der Wurzel des Baums.
Parameters:
value - Wert

setLeftChild

public void setLeftChild(java.lang.Object value,
                         BinaryTree.Node parent)
Setzt den Wert des linken Kindknotens.
Parameters:
value - Wert
parent - Elternknoten

setRightChild

public void setRightChild(java.lang.Object value,
                          BinaryTree.Node parent)
Setzt den Wert des rechten Kindknotens.
Parameters:
value - Wert
node - Elternknoten

clear

public void clear()
Loescht alle Knoten im Baum.

get

public java.lang.Object get(BinaryTree.Node pos)
Liefert den Wert eines Knoten.
Parameters:
pos - betrachteter Knoten
Returns:
Wert des Knoten

replace

public void replace(java.lang.Object value,
                    BinaryTree.Node pos)
Ersetzt den Wert des Knoten durch den angereichten Wert.
Parameters:
value - neuer Wert
pos - zu veraendernder Knoten

size

public int size(BinaryTree.Node parent)
Liefert die Anzahl der Knoten im Teilbaum.
Parameters:
node - Wurzel des betrachteten Teilbaums
Returns:
Anzahl der Knoten im Teilbaum