|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
[Java]Implementare un albero non binario
AIUTO!
Devo impelemntare un albero, in cui ogni nodo può avere n figli. Avevo pensato di fare la classe Nodo così: Codice:
class MyNode(){
public MyNode parent = null;
public LinkedList listChild;
public MyNode(){
listChild = new LInkedList();
}
public void setParent(NyNode n)
{parent = MyNode}
public void addChild(MyNode c){
listHild.add(c);
}
}
Codice:
Class Tree{
MyNode root = null;
public Tree(){
root = null;
}
public MyNode insert(MyNode n, MyNode parent)
{
if(root == null){
root = n;
return root;
}
root = n;
root.setParent(parent);
parent.addChild(n);
return root;
/*VA BENE?ADESSO CHE FACCIO?:-))))*/
}
}
La stampa l'avevo pensata cosi: Codice:
while(root != null)
{
stampa root;
root = root.getParent();
}
Vi prego. HELP ME!
__________________
God rides DUCATI! Ultima modifica di DesmoColo : 22-01-2008 alle 19:24. Motivo: MAncava una parte del discorso |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Jan 2008
Messaggi: 18
|
Esiste una maniera abbastanza interessante e facile da implementare, per realizzare alberi N-ari, che io preferisco rispetto all'idea che hai proposto tu.
In pratica ogni nodo ha un puntatore al nodo padre, un puntatore al primo figlio ed un puntatore al fratello successivo Se ci rifletti bene, è po' come se realizzassi un albero N-ario per mezzo di un albero binario (se consideri primo-figlio e fratello-successivo come figlio-sinistro e figlio-destro) Ora non ti sto a scrivere il codice perchè è un po' che non programmo in c o c++, cmq l'importante è capire il concetto.
__________________
my blog: blog.joujou.org |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:49.



















