Ya tengo conocimiento sobre algoritmos básicos. Ahora planeo estudiar algoritmos más avanzados y decido ir a Introducción a los algoritmos .
No estoy seguro, ¿necesito actualizar mis habilidades matemáticas antes de leer este libro o no? (Olvidé casi las matemáticas que aprendo en la escuela secundaria y en la universidad). Si este libro necesita un buen conocimiento de las matemáticas, sugiera materias que beneficien.
Quiero aprender sobre implementación, diseño y análisis de algoritmos.
algorithms
math
skills
Anónimo
fuente
fuente
Respuestas:
El curso MIT que usa el libro CLR tiene un curso de prerrequisito específico. El libro de texto utilizado por ese curso de requisito previo está disponible de forma gratuita.
Aquí está:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/
El curso de requisitos previos del curso de requisitos previos es el cálculo de una sola variable.
fuente
Como @ user16764 alude en referencia a las ofertas particulares de cursos del MIT (6.042) , una versión de lo que normalmente se llama matemática discreta , combinada con el cálculo a nivel de primer año (universidad) son los requisitos principales para comprender muchos algoritmos (básicos) y sus análisis.
Los algoritmos especializados o avanzados pueden requerir antecedentes matemáticos adicionales o avanzados, como en estadística / probabilidad (programación científica y financiera), álgebra abstracta y teoría de números (es decir, para criptografía).
Como estudiante, mi curso de matemáticas discretas tenía el libro de texto Matemáticas discretas con aplicaciones de Susanna Epp, y otro libro de texto que encontré en mi biblioteca fue Matemáticas discretas de Kenneth Ross y Charles Wright. Es probable que una copia usada de buena calidad de uno de estos sea un lugar razonable para comenzar (con o sin combinar con MIT Open Course Ware, dependiendo de su estilo de aprendizaje). Para el autoestudio, a menudo encuentro que tener dos fuentes a las que referir puede ayudar a aclarar puntos que tengo problemas para entender.
Una alternativa que he visto sugerida es Concrete Mathematics , Segunda edición de Ronald L. Graham, Donald E. Knuth y Oren Patashnik. No puedo encontrar mi copia en este momento, y no la he trabajado diligentemente, así que no puedo hacer una recomendación a favor o en contra.
Del prefacio:
Tomaré nota de los comentarios cascarrabias de Bill el Lagarto en esta entrada del blog "Los programadores de libros no leen realmente ". Personalmente, todavía encuentro los algoritmos de Robert Sedgewick (ahora 4ª ed.) Menos intimidantes y más accesibles.
En lo que respecta a la parte continua (es decir, números reales ) de las matemáticas, el cálculo de Stewart parece ser un tomo de uso frecuente para dar conferencias a los estudiantes sobre la iluminación que proviene de la diferenciación y la integración.
fuente
En realidad, no es tanto matemática per se, sino comodidad y fluidez con el formalismo matemático. Aprenda la terminología básica del conjunto y el formalismo correspondiente.
El análisis de algoritmos, especialmente en el contexto de la teoría de la complejidad en la que estudia el problema computacional subyacente (si está tratando de hacer algo más sustancial que la notación "Big-Oh"), requiere una inversión significativa de tiempo en la teoría de gráficos. y álgebra abstracta, todo además de una gran dosis de inteligencia innata.
fuente
Creo que está listo para ir a menos que esté preocupado por el "Análisis" de Algoritmos, no solo por su implementación. Ese curso usualmente es un curso de matemáticas UD o CS en la mayoría de los planes de estudios universitarios.
Simplemente entender cómo implementar los algoritmos en ese libro no debería ser un problema
fuente