¿Qué matemáticas se usan en los algoritmos?

Una buena parte de los algoritmos no requiere mucha matemática. Por ejemplo, la mayoría de los algoritmos de clasificación, como la clasificación por fusión, la clasificación rápida, la clasificación por inserción o la clasificación por radix, no requieren conocimientos avanzados de matemáticas para comprender o demostrar la corrección. Supongo que puede necesitar algunos conocimientos de álgebra para comprender la noción de tiempos de ejecución.

También hay clases de algoritmos que no requieren matemáticas para comprender, pero requieren matemáticas más formales para demostrar. Esto incluye algoritmos gráficos como el algoritmo de Dijkstra, el algoritmo de Kruskal y la búsqueda A *. No es difícil ver por qué funcionan estos algoritmos, pero para demostrar formalmente la exactitud de estos algoritmos, generalmente se necesita un conocimiento práctico de matemáticas discretas y argumentos inductivos.

Por otro lado, también hay una cantidad decente de algoritmos que requieren un conocimiento matemático más formal para comprender y probar. Algunos ejemplos incluyen la Transformada rápida de Fourier (requiere álgebra lineal), Descenso de gradiente estocástico (requiere conocimiento de optimización y cálculo multivariable) y Muestreo de Gibbs (requiere conocimiento de probabilidad y estadística).

Matemáticas generalmente discretas.

La teoría de conjuntos, la teoría de números, la teoría de gráficos, la combinatoria, la probabilidad, las recurrencias se usan principalmente, pero además de las operaciones matriciales, la coincidencia de patrones para cadenas también es importante.

Si solo desea ser un programador que conozca bien los algoritmos y las estructuras de datos o si realmente le gustan los temas de programación competitivos mencionados anteriormente, es suficiente para usted, pero si está interesado en los algoritmos en general, entonces necesita matemática y no le gustan esos temas limitados