Si quiero resolver problemas del mundo real, ¿qué debo hacer, encontrar esos problemas y luego aprender las estructuras de datos y algoritmos requeridos o viceversa?

Usando software, lo que realmente hacemos es automatizar una solución que ya está resuelta por el cerebro humano.

Tomemos, por ejemplo, una simple multiplicación:

12398745 x 234909 = 2912576789205

Nosotros, como los humanos podemos resolver lo anterior, la mayoría de nosotros sabemos cómo hacer una simple multiplicación de dos números. Sin embargo, tomaría un tiempo considerable hacerlo en papel.

Al automatizar esta tarea trivial por una computadora, ya no tenemos que dedicarle tiempo y, en cambio, enfocarnos en otros hechos de un problema mayor.

Ahora que era un problema simple.

Los problemas del mundo real son realmente complejos. Tomemos, por ejemplo, un drenaje efectivo del agua durante las lluvias, o puede ser una recolección efectiva del agua de lluvia. Puede usar algunas de las soluciones / algoritmos existentes (automatizados o no) para resolver partes de su problema. Pero la verdadera solución vendría de tu cabeza. Más adelante, si puede llegar a una solución, puede automatizarla para probarla en más de un millón de escenarios y publicar sus hallazgos.

Para empezar, parece que estás en el camino correcto. Aprenda los algoritmos existentes y las estructuras de datos para problemas ya resueltos y luego construya sobre ellos.

Ambos. Si ve un problema del mundo real y busca una solución, definitivamente debe dejar que eso lo dirija hacia estructuras de datos y algoritmos útiles. Eso acelerará su proceso para ser productivo, eliminando lo superfluo.

Por otro lado, si su escuela (sea cual sea el nivel) decide que los árboles rojo y negro son parte del plan de estudios, entonces debe estudiar eso, si le parece útil no lo es. He aquí que, muchos años después, puede encontrar un problema después del cual puede arrojar los árboles rojo y negro.

O puede que no, pero está bien, porque no aprendemos sobre los árboles rojo-negros, o cualquier cosa, porque esperamos o esperamos que puedan ser útiles algún día. Al aprender sobre algo , practica aprender nuevos conceptos y aplicarlos. De eso se trata el aprendizaje. Aprender se trata de aprender, no de aprender nada en particular. El 80% de lo que aprende nunca se utilizará, pero el proceso de aprendizaje se queda con usted.

hacer esto en paralelo