Interface AVL (file AVL.java, file TestAVL.java)


public interface AVL

Interfaccia AVL: Specifica dei metodi per la gestione di un insieme di oggetti ordinati mediante alberi AVL. Gli oggetti devono fornire il metodo compareTo dell'interfaccia standard Comparable per mantenere le chiavi ordinate. L'eccezione IllegalArgumentException viene generata se gli oggetti non sono Comparable.


Method Summary
 boolean avlDelete(java.lang.Object x)
          Elimina un oggetto dall'insieme memorizzato nell'albero, usando il metodo standard compareTo.
 boolean avlInsert(java.lang.Object x)
          Aggiunge un oggetto all'insieme memorizzato nell'albero, usando il metodo standard compareTo.
 java.lang.Object avlMaximum()
          Cerca la chiave più grande memorizzata nell'albero.
 java.lang.Object avlMinimum()
          Cerca la chiave più piccola memorizzata nell'albero.
 java.lang.Object avlPredecessor(java.lang.Object x)
          Cerca il predecessore dell'oggetto specificato, usando il metodo standard compareTo.
 boolean avlSearch(java.lang.Object x)
          Verifica se l'insieme contiene l'oggetto specificato, usando il metodo standard compareTo (l'oggetto può occorrere al più una volta).
 java.lang.Object avlSuccessor(java.lang.Object x)
          Cerca il successore dell'oggetto specificato, usando il metodo standard compareTo.
 void clear()
          Rende l'albero vuoto.
 boolean isEmpty()
          Verifica che l'albero sia vuoto.
 

Method Detail

avlSearch

public boolean avlSearch(java.lang.Object x)
Verifica se l'insieme contiene l'oggetto specificato, usando il metodo standard compareTo (l'oggetto può occorrere al più una volta).
Parameters:
x - l'oggetto da cercare nell'insieme.
Returns:
true se l'insieme contiene l'oggetto; false altrimenti.
Throws:
java.lang.IllegalArgumentException - se l'argomento passato è null oppure non è Comparable.

avlMinimum

public java.lang.Object avlMinimum()
Cerca la chiave più piccola memorizzata nell'albero.
Returns:
la chiave più piccola dell'albero.

avlMaximum

public java.lang.Object avlMaximum()
Cerca la chiave più grande memorizzata nell'albero.
Returns:
la chiave più grande dell'albero.

avlSuccessor

public java.lang.Object avlSuccessor(java.lang.Object x)
Cerca il successore dell'oggetto specificato, usando il metodo standard compareTo. Se il successore non esiste, restituisce null.
Parameters:
x - l'oggetto da cercare nell'insieme.
Returns:
il successore dell'oggetto se esiste; null altrimenti.
Throws:
java.lang.IllegalArgumentException - se l'argomento passato è null oppure non è Comparable.

avlPredecessor

public java.lang.Object avlPredecessor(java.lang.Object x)
Cerca il predecessore dell'oggetto specificato, usando il metodo standard compareTo. Se il successore non esiste, restituisce null.
Parameters:
x - l'oggetto da cercare nell'insieme.
Returns:
il predecessore dell'oggetto se esiste; null altrimenti.
Throws:
java.lang.IllegalArgumentException - se l'argomento passato è null oppure non è Comparable.

avlInsert

public boolean avlInsert(java.lang.Object x)
Aggiunge un oggetto all'insieme memorizzato nell'albero, usando il metodo standard compareTo. Non sono ammessi oggetti null e/o duplicati.
Parameters:
x - l'oggetto da inserire, diverso da null.
Returns:
true se l'oggetto non apparteneva già all'insieme; false altrimenti.
Throws:
java.lang.IllegalArgumentException - se l'argomento passato è null oppure non è Comparable.

avlDelete

public boolean avlDelete(java.lang.Object x)
Elimina un oggetto dall'insieme memorizzato nell'albero, usando il metodo standard compareTo. L'insieme rimane inalterato se non contiene l'oggetto.
Parameters:
x - l'oggetto da eliminare, se presente e diverso da null.
Returns:
true se l'oggetto appartiene all'insieme; false altrimenti.
Throws:
java.lang.IllegalArgumentException - se l'argomento passato è null oppure non è Comparable.

isEmpty

public boolean isEmpty()
Verifica che l'albero sia vuoto.
Returns:
true se l'albero è vuoto; false altrimenti.

clear

public void clear()
Rende l'albero vuoto.