Pues para diseñar nuevos algoritmos necesitas una mente creativa. Pero aquí hay algunas de las formas que pueden ayudarlo a obtener una ventaja. Además, si tienes miedo de las matemáticas, no leas la respuesta. Porque lo necesitará como una herramienta para pensar y optimizar sus nuevos algoritmos.
- Study Discrete Mathematics: Un buen libro a seguir sería Elements of Discrete Mathematics by C. L. Liu. Además, MIT tiene un pdf para el curso 6.042 Matemáticas para ciencias de la computación, que puede encontrar en su sitio web.
- Necesitará Probabilidad: Modelos de probabilidad, variables aleatorias y sus espacios de eventos, función de masa de probabilidad, funciones de distribución, algunas distribuciones discretas (Bernoulli, binomial, geométrica, Poisson, uniforme, función de generación de probabilidad, vectores aleatorios discretos, variables aleatorias continuas: pdf algunas distribuciones continuas (Gamma, Normal), Funciones exponenciales de variables aleatorias, variables aleatorias distribuidas conjuntamente. Expectativa, Expectativa de funciones de más de una variable aleatoria, Momentos y transformaciones de algunas distribuciones (Uniforme, Bernoulli, Binomial, Geométrico, Poisson. Exponencial, Gamma, Normal), Cálculo del tiempo medio hasta el fallo.
- Matriz : Necesitarás aprender sobre matrices. Puedes aprender esto de cualquier libro de texto de ingeniería para las matemáticas.
- Introducción a los algoritmos de CLRS :: Después de seguir los pasos 1 a 3, puede comenzar a aprender de este libro. Pero no limites tu pensamiento a lo que se dice en el libro. Siempre prueba nuevas formas de hacer un trabajo. Intente buscar casos que mejoren la complejidad de los algoritmos. Piensa en nuevas formas de mejorar. Learn Dynamic Programming no solo memoriza soluciones a algunos de los problemas. Trate de implementar la programación dinámica a situaciones reales. Hay diferentes estructuras de datos, cada estructura de datos tiene una ventaja y una ventaja de desventaja en diferentes situaciones. Aprende a usarlas de la forma en que te beneficiarán. Tienes varias herramientas dadas a ti. Divide y vencerás, programación dinámica, enfoque codicioso. Tendrás que utilizar estas técnicas.
- Elementos de las entrevistas de programación: este es un buen libro si desea practicar preguntas sobre algoritmos. Esto pulirá tu conocimiento.
- Cracking the Coding Interview :: Otro buen libro.
Por lo tanto, ser capaz de diseñar algoritmos y analizar requiere una buena base matemática y una buena capacidad creativa. Porque es un arte.