edu.ksu.cis.viewer
Class AVLTree

java.lang.Object
  extended byedu.ksu.cis.viewer.AVLTree
All Implemented Interfaces:
BSTInterface

public final class AVLTree
extends Object
implements BSTInterface

An immutable AVL tree that can draw itself. An AVL tree is a binary search tree such that if it is nonempty, its children differ in height by at most 1.

Author:
Rod Howell (howell@cis.ksu.edu)

Constructor Summary
AVLTree()
          Constructs an empty AVLTree.
 
Method Summary
 Object clone()
          Because this structure is immutable, this method simply returns this tree.
 JComponent getDrawing()
          Returns a drawing of this tree.
 JComponent getDrawing(Font fnt)
          Returns a drawing of this tree using the given Font.
 BSTInterface put(String key)
          Returns the AVLTree resulting from the insertion key into this AVLTree.
 BSTInterface remove(String key)
          Returns the AVLTree resulting from the removal of key from this AVLTree.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AVLTree

public AVLTree()
Constructs an empty AVLTree.

Method Detail

put

public BSTInterface put(String key)
                 throws NullPointerException
Returns the AVLTree resulting from the insertion key into this AVLTree. If key is already in this tree, an identical tree is returned.

Specified by:
put in interface BSTInterface
Throws:
NullPointerException - If key is null

remove

public BSTInterface remove(String key)
                    throws NullPointerException
Returns the AVLTree resulting from the removal of key from this AVLTree. If key is not in this tree, an identical tree is returned.

Specified by:
remove in interface BSTInterface
Throws:
NullPointerException - If key is null

getDrawing

public JComponent getDrawing()
Returns a drawing of this tree.

Specified by:
getDrawing in interface BSTInterface

getDrawing

public JComponent getDrawing(Font fnt)
Returns a drawing of this tree using the given Font.

Specified by:
getDrawing in interface BSTInterface
Throws:
NullPointerException - if fnt is null.

clone

public Object clone()
Because this structure is immutable, this method simply returns this tree.

Specified by:
clone in interface BSTInterface