Me preguntaba si alguien podría ayudarme a volver a trabajar este método para encontrar la altura de un árbol de búsqueda binario. Hasta ahora, mi código se ve así. Sin embargo, la respuesta que recibo es más grande que la altura real en 1. Pero cuando elimino el +1 de mis declaraciones de devolución, es menos que la altura real en 1. Todavía estoy tratando de ajustar mi cabeza a la recursión con estos BST. Cualquier ayuda sería muy apreciada.Encontrando altura en Árbol de búsqueda binaria
public int findHeight(){
if(this.isEmpty()){
return 0;
}
else{
TreeNode<T> node = root;
return findHeight(node);
}
}
private int findHeight(TreeNode<T> aNode){
int heightLeft = 0;
int heightRight = 0;
if(aNode.left!=null)
heightLeft = findHeight(aNode.left);
if(aNode.right!=null)
heightRight = findHeight(aNode.right);
if(heightLeft > heightRight){
return heightLeft+1;
}
else{
return heightRight+1;
}
}
Bueno, tengo que volver a la altura correcta devolviendo findHeight (nodo) -1 en mi método público. Sin embargo, siento que este es un código descuidado, ¿alguna sugerencia sobre una renovación? – mike
¿Es este el enfoque correcto para resolver la altura del árbol? Https: //github.com/joeyajames/Python/issues/1 – rittam