Java - suma de niveles de un arbol

 
Vista:
sin imagen de perfil
Val: 55
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

suma de niveles de un arbol

Publicado por Daniel (19 intervenciones) el 15/01/2020 16:41:44
hola amigos de la web me gustaria saber si me pueden ayudar con este ejercico que se aplica en la estructura de datos arboles

Implemente el método public static int SumaNivel(int Nivel, TGTree<Integer> ArbolEnteros) que dado un nivel en un árbol general de enteros devuelve la suma de los elementos que se encuentran contenidos en dicho nivel.

pienso que deveria buscar el nivel dacada nodo por un metodo recursivo e ir acumulando la suma de sus valores en un contador pero no se como hacerlo
ayudenme lpis
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

suma de niveles de un arbol

Publicado por Tom (1831 intervenciones) el 15/01/2020 16:51:46
¿ Qué cosa es TGTree ?
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
sin imagen de perfil
Val: 55
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

suma de niveles de un arbol

Publicado por Daniel (19 intervenciones) el 15/01/2020 16:55:41
TGTree es el arbol como tal por lo cual tabien es sus subarboles o tambien puedes tamarlo como cada uno de los nodos
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
sin imagen de perfil
Val: 55
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

suma de niveles de un arbol

Publicado por Daniel (19 intervenciones) el 15/01/2020 17:55:30
aqui les pongo las clases

Clase arbol
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
package clases;
 
import java.util.LinkedList;
 
 
public class TGTree<T> {
 
    public T info;
    public LinkedList< TGTree<T> > children;
 
   public TGTree(T info) {
        this.info = info;
        children = new LinkedList<>();
    }
 
    public TGTree(T info, LinkedList<TGTree<T>> children) {
        this.info = info;
        this.children = children;
    }
 
 
    /**
     * Es hoja
     *
     */
    public boolean iSheet() {
        if (children.size() == 0) {
            return true;
        }
        return false;
    }
 
 
 
}

la clase principal con el metodo mal hecho
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
55
56
57
58
59
60
61
62
63
64
package edapfinal;
import clases.TGTree;
import java.util.ArrayList;
 
public class EDAPFinal<T> {
 
 
 
    public static int SumaNivel(int Nivel, TGTree<Integer> ArbolEnteros) {
        if(ArbolEnteros==null){
            return 0;
        }int aux = 0;
        for (int i = 0; i < ArbolEnteros.children.size(); i++) {
            int suma=SumaNivel(Nivel-1, ArbolEnteros);
            aux=suma;
            if(Nivel ==0){
            return suma;
        }
        }
        return aux;
    }
 
    public static void main(String[] args) {
        // TODO code application logic here
        Stack<Integer> P1 = new Stack<>();
        Stack<Integer> P2 = new Stack<>();
 
        P1.push(10);
        P1.push(8);
        P1.push(5);
        P1.push(1);
 
        P2.push(14);
        P2.push(11);
        P2.push(9);
 
        System.out.println(Mezclar(P1, P2));
 
        TGTree a1 = new TGTree(1);
        TGTree a2 = new TGTree(2);
        TGTree a3 = new TGTree(3);
        TGTree a4 = new TGTree(4);
        TGTree a5= new TGTree(5);
        TGTree a6 = new TGTree(6);
        TGTree a7 = new TGTree(7);
        TGTree a8 = new TGTree(8);
        TGTree a9 = new TGTree(9);
        TGTree a10 = new TGTree(10);
 
        a1.children.add(a2);
        a1.children.add(a3);
        a2.children.add(a4);
        a3.children.add(a5);
        a3.children.add(a6);
        a3.children.add(a7);
        a5.children.add(a8);
        a6.children.add(a9);
        a6.children.add(a10);
 
        System.out.println(SumaNivel(2, a1));
 
    }
 
}
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