Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/12/2015, 14:47
Avatar de maiksix
maiksix
 
Fecha de Ingreso: noviembre-2014
Ubicación: Sabadell
Mensajes: 124
Antigüedad: 9 años, 6 meses
Puntos: 1
Sumar valores de un arbol

Hola a todos,

estoy intentando programar un método en java que sume todos los elementos de un arbol.

Ahora mismo tengo lo siguiente:

Código:
/**
     * Método que suma el valor de los nodos a partir del nodo pasado por parámetro. Si se especifica el nodo
     * raíz del árbol, entonces se obtiene la suma de todos los nodos del árbol
     * @param n Nodo a partir del cual se suma el subárbol
     * @return La suma de los valores de los nodos del subárbol
     */
    private int getAddition (Node n) {
    	int suma=n.value;
    	if(n.left==null && n.right==null){
    		return suma;
    	}else{
    		if(n.right==null){
    			getAddition(n.left);
    		}else if(n.left==null){
    			getAddition(n.right);
    		}else{
    			getAddition(n.left);
    			getAddition(n.right);
    		}
    	}
    	return suma;
    }
No consigo que sume todos los elementos.

Alguien podría echarme una mano?

La clase nodo es la siguiente:

Código:
private class Node {
        // El valor del nodo
    	private Integer value;
        
    	// Subárboles izquierdo y derecho
    	private Node left, right;

        // Constructor de la clase
    	public Node (Integer value) {
            this.value = value;
        }
    }
Muchas gracias.

Un saludo.
__________________
Going hard for too long... Can't get enough