|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2011
Messaggi: 3
|
Costruzione alberi n-ari in java
Qualcuno saprebbe aiutarmi a costruire un albero n-ario su questa base di albero binario??
Codice:
public class Albero
{
private String contenuto;
private Albero sinistro;
private Albero destro;
private boolean alberoVuoto;
public Albero()
{
this.alberoVuoto=true;
}
public Albero(Albero sinistro, String contenuto, Albero destro)
{
this.sinistro=sinistro;
this.contenuto=contenuto;
this.destro=destro;
this.alberoVuoto=false;
}
public String preOrder()
{
String ret="";
if(this.alberoVuoto==true)
return ret;
else
{
ret=ret+contenuto;
ret=ret+this.sinistro.preOrder();
ret=ret+this.destro.preOrder();
return ret;
}
}
public String inOrder()
{
String ret="";
if(this.alberoVuoto==true)
return ret;
else
{
ret=ret+this.sinistro.inOrder();
ret=ret+contenuto;
ret=ret+this.destro.inOrder();
return ret;
}
}
public String postOrder()
{
String ret="";
if(this.alberoVuoto==true)
return ret;
else
{
ret=ret+this.sinistro.postOrder();
ret=ret+this.destro.postOrder();
ret=ret+contenuto;
return ret;
}
}
public void add(Albero a, Albero b)
{
this.sinistro=a;
this.destro=b;
this.alberoVuoto=false;
}
public String visitaAlbero()
{
return this.contenuto;
}
public void svuotaAlbero()
{
this.contenuto="";
}
public void eliminaAlbero()
{
this.sinistro=null;
this.contenuto=null;
this.destro=null;
this.alberoVuoto=true;
}
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
Ti consiglio di ricrearti una classe Albero e una classe Nodo!
La classe albero contiene un riferimento alla radice dell'albero, che poi è un Nodo! La classe Nodo invece contiene, oltre all'elemento contenuto dal nodo (nel tuo caso una stringa), una lista di Nodi, che poi sono i suoi figli! Sulla base del tuo albero non puoi costruirti un albero ennario dato che hai solamente due riferimenti! |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Apr 2003
Messaggi: 16462
|
Quote:
Basta usare una rappresentazione left child right sibling e l'albero n-ario lo puoi esprimere mediante un albero binario. http://it.wikipedia.org/wiki/Albero_n-ario
__________________
MICROSOFT : Violating your privacy is our priority |
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Feb 2011
Messaggi: 3
|
E qualche modo per poterlo fare con array??? perchè poi dovrei costruire un metodo per trasformarlo da n-ario a binario..
|
|
|
|
|
|
#5 | |
|
Junior Member
Iscritto dal: Feb 2011
Messaggi: 3
|
Quote:
|
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:45.




















