Buongiorno a tutti. Ho provato a implementare la classe NodoLF, vi posto il codice
codice:
import java.util.ArrayList;


public class NodoLF<T> {
	private T info;							// Contiene l'informazione del nodo.
	private ArrayList<NodoLF> figli;		// Array contenente i figli, può essere vuota per i nodi foglia.
	private NodoLF padre;					// Radice dell'albero. Riferimento NULL.
	
	public NodoLF(T x){
		info=x;
	}
	
	public T getInfo(){
		return info;
	}
	
	public void setInfo(T x){
		info=x;
	}
	
	public void setPadre(){
		padre=null;
	}
}
può andare bene?
Mentre nella classe AlberoLF ho fatto questo per ora
codice:
public class AlberoLF<T> {
	
	private NodoLF<T>[] nodi=new NodoLF[0];
	private NodoLF<T>[] padri=new NodoLF[0];

	// Metodo che restituisce la lista dei figli di un nodo n. Sarebbe il punto 7.
	public ArrayList<NodoLF<T>> figli(NodoLF<T> n){
		ArrayList<NodoLF<T>> figli = new ArrayList<NodoLF<T>>();
		if(n==null){
			return figli;
		}
		for(int i=0;i<numNodi();i++){
			if(padri[i]==n){
				figli.add(nodi[i]);
			}
		}
		return figli;
	}
	
	// Punto 1; Restituisce il numero dei nodi presenti nell'albero.
	public int numNodi(){
		return nodi.length;
	}
	
	// Punto 2; Restituisce il numero dei figli di un nodo. Al metodo gli passo un nodo n.
	public int numFigli(NodoLF<T> n){
		 return figli(n).size();
	}
	
	// Punto 3; Restituisce il contenuto di un nodo. Gli passo un nodo n e mi restituisce il suo contenuto attraverso la funzione getInfo.
	public T infoNodo(NodoLF<T> n){
		return n.getInfo();
	}
	
	// Punto 4; Cambia il contenuto di un nodo. Gli passo al metodo il nodo n a cui devo cambiare il contenuto (l'informazione) e l'informazione che devo assegnare al nodo n.
	public void changeInfo(NodoLF<T> n, T info){
		n.setInfo(info);
	}
}