Asesoria Arbol n-ario
Publicado por Guillermo (2 intervenciones) el 27/03/2019 00:22:29
hola tengo este codigo para generar un arbol n-ario, quisiera su ayuda para poder resolverlo
la clase nodo
la clase arbol general
y mi clase principal
la clase nodo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class Nodo { Object valor; //para almacenar cualquier valor
Nodo hermano;//variable nodo padre
Nodo hijo;//variable nodo padre
int numHijos;
//Creando los constructores
public Nodo(Object valor)
{this.valor = valor;
this.hermano = this.hijo = null;
}public Nodo(Nodo hermano,Nodo hijo,Object valor)
{this(valor);//invoca la variable valor del constructor anterior
this.hermano = hermano;
this.hijo = hijo;
} /*
Creando los metodos get a set para valor,padre e hijo
*/public Object getValor() {
return valor;
}public void setValor(Object valor) {
this.valor = valor;
}public Nodo getHermano() {
return hermano;
}public void setPadre(Nodo padre) {
this.hermano = padre;
}public Nodo getHijo() {
return hijo;
}public void setHijo(Nodo hijo) {
this.hijo = hijo;
} /* */public void nuevoHijo(Nodo nhj)
{this.hijo = nhj;
numHijos++;
}}la clase arbol general
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class ArbolGeneral {Nodo raiz;
public ArbolGeneral()
{ raiz = null; } //Verifica si se tiene raiz
public boolean vacia()
{return (raiz == null) ? true : false;
}public Nodo insertarRaiz(Object valor)
{if (vacia())
{raiz = new Nodo(valor);
}return raiz;
}public void insertarNodo(Nodo nodo,Object valor,String padre)
{Nodo nuevo = new Nodo(valor);
if(nodo.getValor().equals(padre))//aqui ve si el padre es la raiz
{nodo.nuevoHijo(nuevo); //e inserta nuevo nodo, solo me agrega el primer valor
}else {
/*
Como podria decirle que agregue un nuedo nodo despues de haber agreado el nodo a la raiz, para
segun lo ingresado me lo ponga como hijo o hermano
*/ } }public String getRaiz() {
return raiz.valor.toString();
}}y mi clase principal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class PruebaArbolGeneral { /**
* @param args the command line arguments
*/public static void main(String[] args) {
ArbolGeneral arbol = new ArbolGeneral();
Nodo nodo = arbol.insertarRaiz("0");
System.out.println(arbol.getRaiz());
arbol.insertarNodo(nodo, 1, "0");
arbol.insertarNodo(nodo,2,"1");
arbol.insertarNodo(nodo,1.1,"0");
}}Valora esta pregunta


0

