Una colección de increíbles libros de algoritmos que deberían encontrar un lugar en el libro de cada programador. Incluye libros específicos del idioma en Java, Python y JavaScript para facilitar el aprendizaje. Los algoritmos son independientes del lenguaje y cualquier programador que se precie debería poder convertirlos en código en el lenguaje de programación de su elección. Desafortunadamente, me he encontrado con varios programadores que son buenos en lenguajes de programación como o , que conocen detalles menores de API y las complejidades del lenguaje, pero tienen un conocimiento muy pobre de los algoritmos fundamentales y la estructura de datos. MUY Java Python Solo pídales que implementen cualquier algoritmo de clasificación popular como clasificación o y se desmoronarán. Si espera que conozcan algoritmos más avanzados y complejos como algoritmos de de o algoritmos codiciosos, prepárese para consultar Entrevistas, de lo contrario, podría terminar con algunas sorpresas. rápida clasificación combinada cadenas, algoritmos gráficos, algoritmos transversales de árboles Una vez, me encontré con un muy buen candidato para un rol de desarrollador sénior principal de Java, era excelente en Java, pero su estructura de datos y su habilidad con los algoritmos eran realmente pobres para su experiencia y calibre. subprocesos múltiples, Cuando le pregunté, ¿por qué no pasó tiempo puliendo su algoritmo y su habilidad para resolver problemas antes de venir a la entrevista? Su excusa fue . que “esos algoritmos son solo para entrevistas y nunca se usan realmente en la codificación práctica. Nunca los he usado en mis 6 años de carrera de desarrollo de Java” Tenía algo de razón, no necesita implementar una tabla hash en Java, siempre puede usar la clase o el Diccionario en Python para ese sentido, pero no reconoció el algoritmo de mejora a más largo plazo y la estructura de datos para . HashMap mejorar la programación habilidad Los algoritmos son herramientas para desarrollar habilidades de resolución de programación y sentido de codificación, que se requieren para convertir un requisito del usuario en la línea de código, también conocida como programa de computadora. También están por todas partes, si usas Facebook, ¿alguna vez has pensado en cómo encuentran a tus amigos tan fácilmente? ¿O cómo recomienda Netflix la película que quieres ver? Esos son solo un par de ejemplos de , que están llevando los algoritmos a otro nivel. algoritmos de aprendizaje automático 10 libros de algoritmos: lectura obligatoria para desarrolladores Otro consejo de oro para aquellos que piensan que los algoritmos son estructuras de datos son para aquellos que quieren trabajar en , , Facebook, Intel o , recuerden que es la única habilidad que es atemporal, por supuesto, aparte de , y C. . Amazon Google Microsoft UNIX SQL Los lenguajes de programación van y vienen, pero el núcleo de la programación, que es el algoritmo y la estructura de datos, sigue siendo el mismo. Si sabe cómo funciona una tabla hash, puede usar su implementación en cualquier lenguaje de programación como de JDK, Dictionary in o HashMap de la biblioteca boost de . HashMap Python C++ Entonces, si te tomas en serio la programación y te das cuenta ahora de que los algoritmos y la estructura de datos no son opcionales, estos son algunos de los mejores libros para aprender algoritmos. Es posible que algunos de ustedes ya los hayan leído antes, pero vale la pena volver a leerlos. Este es uno de los libros de algoritmos más populares, pero tenga en cuenta que contiene una gran dosis de teoría. La edición actual de este libro es la 3.ª edición y sugiero encarecidamente que todo programador tenga esto en su estantería, pero solo para lecturas cortas y referencias. 1. Introducción a los algoritmos por Thomas H. Corman No es posible terminar este libro de una sola vez y a algunos de ustedes también les puede resultar difícil leerlo, pero no se preocupen, pueden combinar su aprendizaje con un curso en línea como junto con este libro. Estructuras de datos y algoritmos: Inmersión profunda usando Java Estructuras de datos y algoritmos: inmersión profunda usando Java Esto es como lo mejor de ambos mundos, aprende algoritmo básico rápidamente en un curso en línea y luego consolida ese conocimiento leyendo el libro, lo que tendría más sentido para usted ahora que ya ha realizado un curso. Otra razón por la que recomiendo este libro como uno de los primeros libros sobre algoritmos debido a su lenguaje agnóstico y acompañado de conferencias . aquí Este fue mi recurso preferido sobre algoritmos durante mucho tiempo, todavía lo es, pero ahora lo veo con menos frecuencia que antes. Aprenderá muchos antecedentes sobre el algoritmo y, en la actualidad, incluso hay versiones específicas de este libro disponibles para diferentes lenguajes de programación como y . 2. Algorithms de Robert Sedgewick y Kevin Wayne Java C++ También hay un par de cursos gratuitos en línea de Coursera para este libro, y , que complementan muy bien este libro. Es excelente. También es mi principal recomendación para los programadores de Java para aprender algoritmos. Algorithms Part 1 Algorithms Part 2 Algoritmos, Parte II | Coursera Mientras que en Coursera, también tiene algunas de las mejores colecciones de cursos de estructura de datos y algoritmos que cubren cada tema importante. Están agrupados como . Si está interesado en aprender algoritmos en profundidad, ese es el lugar que le sugiero que vaya. Coursera Specialization on Algorithms Lo crea o no, pero si ya conoce un lenguaje de programación, ver un ejemplo de un algoritmo en ese lenguaje de programación en lugar de otros también reduce la curva de aprendizaje. También puede leer la cuarta edición de este libro en línea de forma gratuita aquí Este es otro libro excelente sobre algoritmos informáticos que también repasa una tonelada de algoritmos con mucho código. Lo que más me gusta del libro es que en realidad da ejemplos de dónde usó los algoritmos (o variaciones de los mismos) en la práctica; realmente te ayuda a ver la(s) clase(s) de problemas para los que se puede usar un algoritmo particular (o familia de algoritmos). 3. El manual de diseño de algoritmos por Steve S. Skiena. El código está en C, pero no es muy esotérico y es fácil de seguir. También había estado fuera de la escuela por un tiempo y esto me ayudó a ponerme al día con bastante rapidez en una serie de . Tengo este libro desde hace casi 10 años y todavía lo miro de vez en cuando. algoritmos gráficos Algoritmo para entrevista de Adnan Aziz es un libro de lectura obligatoria sobre algoritmos, escrito en términos de tener en cuenta la . 4. Algoritmo para entrevistas programación de entrevistas La portada en sí muestra lo interesante que podría ser el libro si miras de cerca, la imagen de la portada está dibujada con miniaturas de personas famosas, y el libro explica cómo puedes desarrollar dichos algoritmos. Interesante, ¿no? Bueno, me gusta este libro por su enfoque y objetivo, a veces aprender lo mismo con diferente objeto ayuda a entenderlo mejor. O'Reilly, en pocas palabras, es un libro muy bueno para aprender algoritmos de programación, especialmente para programadores de Java. Describe los algoritmos centrándose en implementarlos y utilizadas en los libros clásicos sobre algoritmos. 5. Algoritmo en pocas palabras Algoritmos de sin las matemáticas pesadas Todos los algoritmos se presentan en forma de patrón, con una motivación para usarlos, imágenes y pseudocódigo que brindan una descripción general de alto nivel y código de trabajo (en , , y ). C C ++ Java Ruby También tienen puntos de referencia para proporcionar pruebas del rendimiento teórico de los algoritmos. En resumen, uno de los mejores libros para aprender algoritmos para programadores. Este es en realidad el segundo mejor libro sobre algoritmos después de de Thomas Cormon. No es realmente una introducción a los algoritmos y es más adecuado para programadores experimentados. 6. Diseño de algoritmos por Kleinberg & Tardos Introducción a los algoritmos Se trata más del diseño de algoritmos para desarrolladores familiarizados con los algoritmos básicos. Debe comenzar con el libro Introducción al algoritmo o Algorithms de Robert Sedgewick y luego continuar con este libro. Por cierto, si lo desea, también puede combinar su aprendizaje con un curso en línea como en . Es un buen curso para familiarizarse con los algoritmos esenciales y la estructura de datos antes de pasar al tema del diseño de algoritmos. Algoritmos y estructuras de datos: partes 1 y 2 Pluralsight Introducción a los algoritmos: un enfoque creativo Por Udi Manber es otro gran libro para el autoaprendizaje, ya que está lleno de cientos de problemas y ejemplos. 7. Introducción a los algoritmos: un enfoque creativo Está diseñado para mejorar las habilidades de resolución de problemas del candidato y la comprensión de los principios detrás del diseño de algoritmos, lo que lo ayudará a desarrollar sus y . habilidades de codificación resolución de problemas Este es otro gran cocinero de algoritmos informáticos y merece un lugar en el anaquel de los programadores. Una vez que haya pasado por la y uno de los libros de introducción, puede leer este libro para estudiar temas avanzados en algoritmos. 8. El diseño y análisis de algoritmos Especialización en algoritmos de Coursera Otro buen libro de introducción sobre algoritmos y estructuras de datos. Un libro hermoso y claro y cualquier programador al que no le guste el uso intensivo de las Matemáticas en el algoritmo apreciará este libro. 9. Estructuras de datos y algoritmos. Aho, Ullman & Hopcroft Por cierto, si encuentra este libro difícil de leer, que es de lo que se quejan algunos de mis lectores, también puede echar un vistazo a de Aditya Bhargava, uno de los libros más fáciles e interesantes sobre algoritmos para principiantes. Grokking Algorithms Este libro está diseñado para programadores de Python. Magnus Lie Hetland también es el autor de uno de los populares libros de introducción a Python, . 10. Algoritmos de Python: dominio de los algoritmos básicos en el lenguaje Python Beginning Python Como he dicho, los algoritmos son independientes del lenguaje, aprender el algoritmo de Python no significa que no puedas implementarlos en o , pero si ya conoces , este es el gran libro para aprender algoritmos informáticos. Java C++ Python Este libro también se enfoca mucho en los , que es muy útil para resolver problemas del mundo real. algoritmos gráficos Este es el libro que no formaba parte de la serie original cuando publiqué este artículo en mi blog, pero después de leerlo, debería incluirlo en la lista debido a su simplicidad. Es uno de los , particularmente desde el punto de vista de los principiantes. 11. Algoritmos de Groking mejores libros que he leído sobre algoritmos Utiliza ejemplos modernos como cómo Facebook habría almacenado un nombre de usuario para que pueda buscarlo fácilmente al iniciar sesión. Estos ejemplos resuenan mejor con los principiantes y los ayudan a comprender el concepto de por qué una es una mejor opción que una para la búsqueda. matriz lista vinculada Los antecedentes de Aditya en bellas artes también hacen de este libro un recurso de aprendizaje visual. Encontrará tantos diagramas interesantes y directos en este libro que le ayudarán a aprender el concepto mejor y más rápido. Aquí hay un buen diagrama que compara este libro con otros libros de algoritmos mencionados en esta lista: En resumen, uno de los . No cubre toda la estructura de datos y los algoritmos, pero lo que sea que cubra, los explica bien. mejores libros de algoritmos para cualquier programador principiante Eso es todo sobre . Estoy de acuerdo en que los algoritmos son un tema complejo y no es fácil entenderlos en una sola lectura, en ese caso, sugiero leer el mismo libro dos veces. 10 libros de algoritmos que todo programador debería leer Además, solo leer no es suficiente, intente implementarlos en un lenguaje de programación que le guste. No está de más escribir su propia implementación ArrayList, HashMap o Map basada en árboles. El efecto del aprendizaje del algoritmo no es visible de inmediato, pero con el tiempo notará una mejora sutil en su forma de pensar, la creación de soluciones y la calidad del código. Por cierto, si está interesado en un curso en línea sobre algoritmos, le sugiero que consulte en Udemy. No es un curso gratuito, pero puede comprarlo por poco menos de $ 10 a $ 15 en varias de las ventas flash de Udemy, lo que ocurre cada pocos días. Estructuras de datos y algoritmos: Inmersión profunda usando Java Otros que te pueden gustar artículos sobre estructuras de datos y algoritmos 5 cursos gratuitos para aprender algoritmos y estructura de datos Más de 50 problemas de estructura de datos y algoritmos para programadores 10 cursos de estructura de datos y algoritmos para descifrar las entrevistas de programación Los 5 mejores libros de estructuras de datos y algoritmos 10 cosas que los programadores de Java deben aprender Los 13 mejores recursos para comprender la teoría de grafos y los algoritmos Más de 30 problemas de codificación basados en matrices de entrevistas Más de 30 problemas de codificación basados en listas vinculadas de entrevistas Más de 75 problemas de codificación de entrevistas para practicar Mi lista favorita de cursos gratuitos para aprender Algoritmos en Profundidad (freeCodeCamp) Gracias por leer este artículo. Si le gusta esta lista de libros, también disfrutará de mi colección de que es una lista de libros sobre programación, codificación, técnicas de desarrollo de software y mejores prácticas, computadoras, programación como profesión y experiencia de algunos de los grandes programadores/codificadores/desarrolladores de los últimos 50 años. 10 libros que todo programador debería leer , Por fin, hay dos tipos de programadores, uno que entiende el algoritmo y otro que no. si prefiere los cursos en línea en lugar de los libros o si desea aprender tanto de los libros como de los cursos en línea, también puede consultar mi lista de Incluye cursos sobre Java, Python y JavaScript para facilitar el aprendizaje. PD: los 5 mejores cursos en línea para aprender estructuras de datos y algoritmos . <a href="https://medium.com/media/3c851dac986ab6dbb2d1aaa91205a8eb/href">https://medium.com/media/3c851dac986ab6dbb2d1aaa91205a8eb/href</a>