Método para mostrar un árbol Splay

He construido un árbol extendido y estoy tratando de imprimirlo en orden inverso para que cuando gire la cabeza hacia la izquierda pueda ver el árbol de manera normal. He escrito el siguiente código y muestra el árbol de forma correcta, pero agrega espacios adicionales en el nodo más a la derecha y no agrega espacios para todos los nodos secundarios que deberían colocarse debajo del nodo raíz:

   public void printReverseInOrder() {
       if (root != null) {
           reverseInOrder(root, 0);
       }
       else {
           System.out.println();
       }
   }

public void reverseInOrder(BSTnode h, int indent) { 
    if (h != null) {
        for (int i = 0; i < indent; i++) {
            System.out.print("  ");
        }

        indent++;
        reverseInOrder(h.right, indent);


        reverseInOrder(h.left, indent);

        System.out.println(h.data);
        indent--;
    }

}

Siento que puede ser un error con mi recursión o con la colocación de mis adiciones y restas de sangría.

Respuesta 1

Estoy convirtiendo el formato de cadena de fecha y hora a Marca de tiempo (java.sql) desde un formato diferente. Lo he convertido a LocalDateTime basado en un formato diferente. ¿Hay alguna forma de convertir el objeto LocalDateTime a ...

Tengo un script de hormiga que uso para construir mi aplicación J2EE y crear archivos jar. El problema es el siguiente: se necesitan dos archivos jar para que se ejecute la aplicación. commons-math-2.0.jar commons -...

Mi pila: Elasticsearch 5.4 (con la versión correspondiente de java client y kibana) Hola, estoy usando mapeo dinámico al crear nuevos índices, y estoy usando la sección a continuación en mi mapeo para desconocidos ...

Me gustaría ejecutar el trabajo ~ inmediatamente con el planificador de cuarzo usando el almacén de datos jdbc. Sin embargo, tengo entre 20 y 30 segundos de retraso entre la programación y el disparo, aunque programo con now () ...