¿Cuántas matemáticas necesito para aprender sobre estructuras de datos y algoritmos?

El álgebra no solo es la única “matemática” que necesitas, sino que el álgebra que has aprendido cuando tienes alrededor de 14 años es suficiente. (Después de 43 años de desarrollo de soluciones de software, la matemática “más difícil” con la que he trabajado fue la forma, “a = b / c”. Contabilidad – aritmética antigua simple, fue mucho más difícil para este desarrollador que nunca había tomado un curso de contabilidad)

Por supuesto, si no tiene conocimiento médico, no va a tratar de conseguir un trabajo como programador principal en software de diagnóstico médico, y si es débil en matemáticas, no lo intentará (o no debería) para liderar un proyecto que reemplazará a Matlab. Pero la mayoría de la “programación” no tiene nada que ver con las matemáticas, a menos que el problema que intentas resolver con el programa sea matemático. Y eso es todo la programación es: resolución de problemas. No necesita matemática para determinar si la tecla que acaba de presionar era “a” o “b”.

OTOH, si prefieres hacer programación matemática, aprende tantas matemáticas, en todas las áreas, como puedas. La programación no deja de funcionar solo porque entiendes las matemáticas. Simplemente no es necesario escribir la mayoría de los programas.

No es mucho sobre todo para comenzar a aprender, para algunos de los algoritmos que aprende más tarde, puede ver que sus pruebas usan algún concepto matemático que no conoce, pero entonces es un buen momento para aprender este concepto en particular en lugar de tratar de pasar tiempo aprendiendo todo las matemáticas posiblemente necesarias de antemano. De hecho, a menudo se dice que el conocimiento de las matemáticas ayuda a aprender algoritmos, pero se trata más del mismo tipo de pensamiento requerido tanto en el diseño del algoritmo como en las matemáticas (con lo que me refiero a diseñar pruebas, no a las “matemáticas” escolares), así que si alguien estaba haciendo más cursos antes de la combinatoria, etc., pueden comenzar un poco más fácilmente porque ya están acostumbrados a pensar de esta manera, pero seguramente no vale la pena dedicar tiempo a aprenderlo solo para que pueda comenzar a aprender algoritmos. Simplemente desarrollará las habilidades necesarias en el camino.

Definitivamente debe sentirse cómodo con la creación (o al menos, la comprensión) de pruebas basadas en las técnicas de prueba más comunes. Prueba por inducción, prueba indirecta (por contradicción), prueba por contraposición, a menos que ya sepa que este tipo de cosas toman un poco de tiempo (pero realmente muy poco; de todos modos obtendrá más experiencia por sí mismo cuando resuelva ejercicios algorítmicos, porque esto requiere que usted presente tales pruebas) para sentirse cómodo con los conceptos, de modo que sea más o menos intuitivo para usted cuando alguien lidere la prueba en uno de estos caminos comunes.

Si solo te refieres a lo básico, no necesitas mucho. El álgebra debería ser suficiente para comenzar.

Si desea comprender las pruebas de la complejidad algorítmica, es posible que necesite más, pero si se siente cómodo sabiendo que un algoritmo es O (n log n) sin comprender necesariamente cómo demostrarlo, estará bien.

También será útil algún conocimiento básico de la teoría de conjuntos.

Dicho esto, puede haber límites a lo que podrá comprender fácilmente sin una comprensión más profunda de las matemáticas. El álgebra lineal y las estadísticas son muy útiles como próximos pasos.