Imprimir las claves del BST en el rango dado.
Estoy preguntándome qué está mal en mi método para imprimir las claves de BST en el rango [min, max] dado. Dada la clase
“`
public class BinarySearchTree
private Node
// Constructores y otros métodos
private static class Node
private E data;
private Node
private Node
private Node(E data) {
data = data;
left = right = null;
}
}
}
¿Qué está mal con esta solución?
public void printPart(E min, E max) {
Print(root, min, max);
}
private void Print(Node
if(n!=null){
if(n.data.compareTo(min) > 0){ // Si los datos del nodo son mayores que min, recorrer el subárbol izquierdo
Print(n.left, min, max);
}else if(n.data.compareTo(min) >=0 && n.data.compareTo(max) <=0){ // Imprimir la raíz si está entre los límites dados
System.out.println(n.data);
} else{ // Recorrer el subárbol derecho
Print(n.right, min, max);
}
}
}
davy.ai
La solución parece correcta, sin embargo hay un error tipográfico en el constructor de
Node
. La líneadata = data
debería serthis.data = data
.