|
|
|
![]() |
|
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 18: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: 07:49.