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
- ¿Por qué a la mayoría de la gente le cuesta resolver problemas de algoritmos?
- ¿Cuál es más rápido: clasificación rápida o burbuja, y por qué?
- ¿Qué es un algoritmo para generar todas las combinaciones posibles de un conjunto dado de letras (por ejemplo, 'a', 'b', 'c', 'd', 'e')?
- ¿Cómo se comunican los dispositivos GPS con los servidores?
- ¿Cuántos tipos de algoritmos SVM existen?
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.