Cómo mejorar mi capacidad para resolver problemas de codificación complejos y de varios pasos

Pregunta muy brillante. He enfrentado este problema una vez. Según mi opinión, la única solución para esto si eres un estudiante es escuchar la clase, no hay otro cielo que este, confía en mí, lo sentirás. Ponga toda su atención en la clase y anote cada palabra que haya entregado el maestro. Como en clase, solo le entregarán el algoritmo o la lógica, una vez que lo escuchen y lo comprendan en ese momento y puedan escribir el código por nuestra cuenta siguiendo las sugerencias y los pasos dados por el profesor. Y, eso es todo, has terminado hasta el 50% y no digo que la codificación sea pan comido, pero una vez que puedes entender la clase y poder explicar el algoritmo, ya está. Lo único que debe hacer en exceso es que debe intentar escribir el código en una hoja de papel, usted mismo debe verificarlo manualmente una vez y luego compilarlo.

Puede haber muchos errores, pero una vez que usted mismo los identifique y realice un seguimiento de sus conceptos básicos, mejorará con seguridad. Simplemente no leas y deja mi respuesta, la implementas y verás el resultado por ti mismo.

Si no eres estudiante, visita las clases y practica en línea. Espero que esto ayude:-)

Tampoco puedo resolver un problema complejo. Lo que haces es dividirlo en pasos más simples.

Ejemplo: un árbol binario tiene estructura y tiene varias operaciones que se pueden hacer en él. Determinarlos

Operaciones, insertando un nodo, eliminando un nodo. Buscando el árbol y viajando el árbol (adelante, atrás y en tres órdenes prefijo infijo postfix)

¿Cuál es la estructura que necesita (qué datos deben estar en los nodos para lograrlo?)

Necesitará la clave con la que busca y ordena las tres. Necesitará un enlace a la izquierda y un enlace a la derecha (si se trata de un árbol binario). Si desea eliminar o la forma del árbol es tal que necesita un acceso principal, también necesita un enlace principal. Probablemente necesitará una forma de determinar si esto es una hoja o no, esto puede ser una variable o puede determinarse por el estado de los enlaces.

Después de obtener estas cosas, comience agregando, ya que necesita eso para crear un árbol en primer lugar. Crea la función para eso. Luego imprime el árbol, para ver que está construido de la manera que deseas.

Luego muele y repita para todas las funciones ypu quiere que su árbol sea compatible.

Al final te tienes un árbol equilibrado y probablemente buggy. Felicidades.

TDD es una excelente manera de dividir un problema en pasos más simples …

En cada iteración, creará una solución más general respaldada por una prueba.