Class AVLBaum

java.lang.Object
  extended byVerweisBaum
      extended bySuchBaum
          extended byAVLBaum
All Implemented Interfaces:
Baum, Menge

public class AVLBaum
extends SuchBaum
implements Menge

Ein AVLBaum ist ein SuchBaum, bei dem alle Knoten ausgeglichen sind. Das heisst, fuer jeden seiner Knoten unterscheiden sich die Hoehen seiner beiden Teilbaeume maximal um eins.


Nested Class Summary
private static class AVLBaum.Status
           
 
Field Summary
private  int balance
           
 
Fields inherited from class VerweisBaum
inhalt, links, rechts
 
Constructor Summary
AVLBaum()
           
 
Method Summary
private  void balance1(AVLBaum.Status s)
           
private  void balance2(AVLBaum.Status s)
           
private  java.lang.Object del(AVLBaum.Status s)
           
 boolean delete(java.lang.Comparable x)
           
private  boolean deleteAVL(java.lang.Comparable x, AVLBaum.Status s)
           
 boolean insert(java.lang.Comparable x)
           
private  boolean insertAVL(java.lang.Comparable x, AVLBaum.Status s)
           
 void rotateLL()
           
 void rotateLR()
           
 void rotateRL()
           
 void rotateRR()
           
 java.lang.String toString()
           
 
Methods inherited from class SuchBaum
lookup
 
Methods inherited from class VerweisBaum
empty, left, right, setLeft, setRight, setValue, value
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface Menge
lookup
 

Field Detail

balance

private int balance
Constructor Detail

AVLBaum

public AVLBaum()
Method Detail

toString

public java.lang.String toString()

insert

public boolean insert(java.lang.Comparable x)
Specified by:
insert in interface Menge
Overrides:
insert in class SuchBaum

insertAVL

private boolean insertAVL(java.lang.Comparable x,
                          AVLBaum.Status s)

rotateLL

public void rotateLL()

rotateLR

public void rotateLR()

rotateRR

public void rotateRR()

rotateRL

public void rotateRL()

delete

public boolean delete(java.lang.Comparable x)
Specified by:
delete in interface Menge
Overrides:
delete in class SuchBaum

deleteAVL

private boolean deleteAVL(java.lang.Comparable x,
                          AVLBaum.Status s)

balance1

private void balance1(AVLBaum.Status s)

balance2

private void balance2(AVLBaum.Status s)

del

private java.lang.Object del(AVLBaum.Status s)