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:
Mi dà però il seguente errore: mioAlbero.java:82: cannot find symbolcodice: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++; } }
symbol : method compareTo(SetNode<E>)
location: class SetNode<E>
while(j>0 && set[j-1].compareTo(node)>0)
Come posso sistemarlo?grazie a tutti

Rispondi quotando