PDA

View Full Version : [java] costruire alberi


sissipula
10-06-2009, 09:55
Ciao!! Devo riuscire a scrivere un albero molto grande, magari a partire da un array o una lista avendo a dipsosizione questa interfaccia:
public Interface Node{
Node getSx();
Node getDx();
int getValue();
}
Come posso fare?

banryu79
10-06-2009, 11:01
Immagino parli di un albero di ricerca binario.
Supponendo che la lista o l'array di input sia già ordinato in ordine crescente puoi ottenere l'albero così:
1- prendi l'elemento centrale dell'array/lista e lo assegni come nodo radice dell'albero;
2- prendi il centro della parte a sinistra del nodo radice e lo assegni come figlio sinistro del nodo radice;
3- prendi il centro della parte a destra del nodo radice e lo assegni come figlio destro del nodo radice;
4- procedi ricorsivamente con i punti 2 e 3 per entrambi i figli finchè non copri tutto l'array/lista.

sissipula
12-06-2009, 18:17
Grazie mille!! peccato che risolto un problema... ne è uscito fuori un'altro!!!:cry: