Salve ragazzi, ho un problema con questo esercizio:
codice:
Si fornisca un'efficiente implementazione dell'interfaccia
BSTSet<E>, come mostrata nella pagina successiva,
rappresentante un albero binario di ricerca (BST) i cui nodi
sono degli insiemi contenti elementi di tipo generico <E>.
Gli insiemi contengono elementi ordinabili. Ciascun insieme è
rappresentato dal suo elemento con valore minore. All'interno
dell'albero gli insiemi sono inseriti in base al loro
elemento rappresentante. Si assuma che ogni insieme non
contenga più 20 elementi.
L'implementazione dell'albero dovrà essere realizzata
utilizzando la struttura [parent/left/right] all'interno
della classe nodo, che dovrà essere denominata SetNode<E>.
L'implementazione del metodo search() è facoltativa, così
come la gestione delle eccezioni all'interno delle classi (Se
il metodo search() non viene implementato il corpo dovrà
essere lasciato vuoto).
Realizzare in seguito, mediante il metodo main() della
classe, un programma Java che prenda in input un file di
testo contenente un elenco di insiemi di interi da inserire
in un albero (costruisce un albero di insiemi di interi) e
restituisca in output un file di testo contenente alcune
informazioni relative all'albero.

File di input e output:
Il file di input contiene l'elenco degli insiemi, uno per
riga, contenuti nei nodi dell'albero. Ogni insieme è
descritto da una sequenza di valori interi separati da uno
spazio e terminanti con un punto e virgola.
La prima riga del file di output contiene tre numeri interi:
il numero di nodi, il numero di elementi e il valore più
piccolo dell'albero. Tali valori sono relativi all'albero
iniziale dopo aver applicato 5 operazione extracMinimum().
Segue la visita inorder dello stesso albero con uni insieme
per ogni riga

Interfaccia BSTSet
import java.util.*;
public interface BSTSet<E extends Comparable> {
public int nodes ();
// ritorna il numero di nodi dell'albero
public int elements ();
// ritorna il numero complessivo di elementi di tipo E
public E getMinimum ();
// ritorna l'elemento più piccolo contenuto nei nodi dell'albero
public SetNode<E> search (E e);
// ritorna il nodo contenente l'elemento e
public void insert (SetNode<E> node);
// aggiunge all'albero un nuovo nodo
public SetNode<E> getRoot ();
// ritorna la radice dell'albero
public SetNode<E>[] inorder();
// ritorna un array con gli insiemi dell'albero in ordine inorder
public E extractMinimum ();
// elimina e ritorna l'elemnto più piccolo dell'albero
}


Ho problemi nell'inserimento: questo è il mio codice:
codice:
public void insert(SetNode<E> node)
	{
		if(nodes()==0)
			set[0]=node;
		else
			{
			    int j=nodes-1;
			    while(j>0 && set[j-1].compareTo(node)>0)//qui mi dà l'errore
			   set[j]=set[j-1];
			    nodes++;
			}
	}
Mi dà però il seguente errore: mioAlbero.java:82: cannot find symbol
symbol : method compareTo(SetNode<E>)
location: class SetNode<E>
while(j>0 && set[j-1].compareTo(node)>0)

Come posso sistemarlo?grazie a tutti