¿Por qué recibo un error de tiempo de ejecución en la conversión de un árbol binario a un árbol binario enhebrado?

Para poder responder esto, necesitaríamos saber más sobre el error específico y qué lenguaje de programación está utilizando. Sin embargo, aquí hay algunas cosas a tener en cuenta:

  • En un árbol binario sin hilos, si un nodo tiene un hijo izquierdo, el hijo es automáticamente el predecesor (en orden) de ese nodo; Si tiene un hijo adecuado, el hijo es el sucesor. Si cualquiera de los enlaces secundarios es NULL, debe atravesar el árbol para encontrar el sucesor. Entonces, primero verifique: ¿Es correcto su algoritmo para realizar un recorrido en orden del árbol no roscado?
  • ¿Está claro en su estructura de datos si cada enlace es a un hijo o a un sucesor o predecesor? Si solo convierte una vez, puede que no importe, pero si el árbol es cambiable en el futuro, probablemente necesite distinguirlos.
  • Cada vez que “visita” un nodo en el recorrido, ¿recuerda y actualiza correctamente el predecesor, ya sea que lo necesite o no?

More Interesting

¿Qué enfoque debería usarse para resolver esta pregunta sobre hackerrank?

¿Cuál es el problema de optimización / mejora más difícil que haya conocido y cómo lo resolvió?

¿Cómo funciona el algoritmo de caminante aleatorio para la segmentación de imágenes en términos simples?

¿Cuál es la probabilidad de que 2 números sean iguales en una lista aleatoria de n números de m dígitos?

Recientemente me enamoré de las estructuras de datos y algoritmos. ¿Qué idioma (s) y qué rama (s) de matemáticas le servirían mejor y qué tipo de trabajos de entrada debería buscar una vez que lo lleve a un nivel decente, unos 4-6 meses después?

¿Cuál es la forma más eficiente de encontrar el número total de nodos en un sistema distribuido?

¿Cuál es el problema si clasificamos los intervalos según su tiempo de finalización como el problema de programación de intervalos? ¿Por qué es necesario ordenar según la hora de inicio en el problema de partición de intervalos?

¿Cómo encuentra un ciclo en una lista "simple" usando solo dos punteros?

¿Qué deben leer todos los libros como Embedded / System / Kernel Engineer y por qué? ¿Incluyendo estructura de datos y algoritmos?

¿Cuál es el menor número de operaciones necesarias para ordenar una matriz de n objetos arbitrarios?

Cómo calcular coeficientes binomiales para números muy grandes

¿Por qué son importantes los números primos para la seguridad informática?

Creo que soy de mente recursiva. No quiero pero observo mi pensamiento mientras estoy pensando en resolver cualquier problema. Y no encuentra solución. ¿Qué hacer?

¿Cuál es la técnica para crear una solución DP iterativa a partir de su solución recursiva?

¿Cuáles son algunos buenos libros para aprender y practicar estructuras de datos y algoritmos?