es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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<? super E>> {
private Node root;

// Constructores y otros métodos

private static class Node {
private E data;
private Node left;
private Node right;

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 n, E min, E max){

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);
}
}

}

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    La solución parece correcta, sin embargo hay un error tipográfico en el constructor de Node. La línea data = data debería ser this.data = data.

Comments are closed.