Java - Amplitud árbol

 
Vista:

Amplitud árbol

Publicado por Dan (1 intervención) el 26/05/2020 14:34:26
Alguien podría ayudarme a terminar este método? Consiste en recorrer un árbol usando cola. No puedo usas los típicos getLeft() y getRight(), solo cuento con getSon() y ademas

Este el cogido que tengo por ahora:
```
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
public void amplitud(){
NodoArbol nodo=raiz;
		Cola cola = new Cola();
		if(nodo!=null){
			cola.encolar(nodo);
		}
		while(!cola.vacia()){
			nodo=cola.desencolar();
			System.out.println(nodo.getData()+" ");
			if(nodo.getSon()!=null){
				cola.encolar(nodo.getSon()); //Aquí ya no se seguir, de hecho me marca como error esta linea
				...
			}
		}
 
	}
```
No se si seguir por ahí o hacer :
```
public void amplitud(){
   return amplitud(raiz)
}
 
private void amplitud(NodoArbol nodo){
		Cola cola = new Cola();
		if(nodo!=null){
			cola.encolar(nodo);
		}
		while(!cola.vacia()){
			nodo=cola.desencolar();
			System.out.println(nodo.getData()+" ");
			if(nodo.getSon()!=null){
				cola.encolar(nodo.getSon()); //Aquí ya no se seguir, de hecho me marca como error esta linea
				...
			}
		}
 
	}
```

Además de todo ello podría usar iteradores, en concreto podría utilizar uno que va hacia delante y otro que va hacia atrás.

Si alguno tiene alguna idea de como seguir o algún consejo os lo agradecería mucho, estoy atascado y necesito conseguir este método para poder avanzar en la práctica.

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Amplitud árbol

Publicado por Rodrigo (623 intervenciones) el 26/05/2020 15:52:07
Cual es el objetivo del problema?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar