Diámetro de un árbol binario
Hola a todos! Alguien tiene hecho un algoritmo para calcular el diámetro de un árbol binario usando un método devorador.
Si es así agradecería que me lo enviárais.
Un saluda.
Si es así agradecería que me lo enviárais.
Un saluda.
Es la primera vez que escucho la expresion : "diametro de un arbol binario".
Por favor, de que se trata ?
Por favor, de que se trata ?
Si por diametro queres decir la distancia entre el nodo hoja mas a izquierda con el nodo hoja mas a derecha en un arbol binario, es de lo mas facil:
1.- Recorres el arbol siempre a izquierda y contas los pasos hasta que llegas al nodo hoja mas a izquierda.
2.- Recorres el arbol siempre a derecha y contas los pasos hasta que llegas al nodo hoja mas a derecha.
3.- Sumas ambos y tenes la distancia.
es decir:
mientras (a->izq != null){
a=a->izq;
canta++;
}
mientras (a->der != null){
a=a->der;
cantb++;
}
canttot=canta+cantb
Recorda que a debe ser un puntero auxiliar y que tenes que ponerlo en la raiz antes de cada mientras.
Si no es esto lo que necesitas, por lo menos defini que es el diametro!
1.- Recorres el arbol siempre a izquierda y contas los pasos hasta que llegas al nodo hoja mas a izquierda.
2.- Recorres el arbol siempre a derecha y contas los pasos hasta que llegas al nodo hoja mas a derecha.
3.- Sumas ambos y tenes la distancia.
es decir:
mientras (a->izq != null){
a=a->izq;
canta++;
}
mientras (a->der != null){
a=a->der;
cantb++;
}
canttot=canta+cantb
Recorda que a debe ser un puntero auxiliar y que tenes que ponerlo en la raiz antes de cada mientras.
Si no es esto lo que necesitas, por lo menos defini que es el diametro!
