En la ciencia de los datos, la función y el almacenamiento de la recopilación de datos se componen de algoritmos y estructuras de datos. Si bien es útil contar con conocimientos de programación y matemática aplicada para aprender estas estructuras, en verdad hay muchísimos libros para principiantes sin ningún tipo de experiencia. Muchos de los libros se centran en una estructura específica con el objetivo de simplificar el aprendizaje. Además, usan ejemplos prácticos y código para respaldar la teoría. Una vez que comprende los aspectos básicos de la ciencia de datos, aprender algoritmos es una excelente forma de continuar con el aprendizaje.
En este artículo, se analizará una amplia variedad de libros sobre algoritmos y estructuras adecuados para el nivel de conocimientos de usuarios principiantes, intermedios y avanzados.
1. “Introduction to Algorithms”, de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest y Clifford Stein
Autores: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest y Clifford Stein
Sitio web: Amazon
“Introduction to Algorithms” (solo disponible en inglés) brinda una descripción completa y sirve como una guía sobre algoritmos en general. Este libro puede usarse como una referencia enciclopédica de algoritmos modernos, ya que cubre de manera amplia todos los aspectos entre la teoría y la práctica en más de 1000 páginas.
Además, es muy práctico porque se presentan problemas con diagramas y pruebas, se implementan algoritmos y se analiza la teoría que respalda los resultados. Si bien los lectores de “Introduction” deben contar con bastantes conocimientos de matemáticas y estructuras de datos, las personas curiosas tendrán igualmente mucho para entretenerse.
2. “Algorithms Unlocked”, de Thomas H. Cormen
Autor: Thomas H. Cormen
Sitio web: Amazon
En “Algorithms Unlocked” (solo disponible en inglés), Thomas Cormen busca desmitificar la tecnología y revelar los secretos detrás de las características internas. Mucho de lo que damos por sentado, como las rutas automatizadas del GPS o el cifrado de Internet, utiliza algoritmos aplicados para funcionar.
En el libro se explica cómo los sistemas informáticos usan algoritmos para resolver problemas y crean muchas de las tareas tecnológicas que vemos en la vida cotidiana. Además, repasa en detalle qué son exactamente los algoritmos informáticos, y el lector aprende a usarlos para llevar a cabo tareas sencillas, como buscar, ordenar y hacer gráficos. Es un recurso para todos aquellos que estén interesados en cómo funcionan los algoritmos en el mundo moderno.
3. “The Algorithm Design Manual”, de Steven S. Skiena
Autor: Steven S. Skiena
Sitio web: Amazon
“The Algorithm Design Manual” (solo disponible en inglés) es una introducción a la creación de algoritmos propios desde cero. No solo abarca la teoría del diseño de algoritmos, también incluye ejemplos y ejercicios del mundo real para proporcionar puntos de referencia. Skiena introduce la “pseudoprogramación”, cuyo objetivo es simplificar la transición entre los distintos lenguajes de programación usados en los algoritmos. El autor describe una amplia variedad de algoritmos modernos, como la teoría de gráficos, la geometría computacional y los algoritmos de múltiples subprocesos.
El libro está dividido en dos secciones: técnicas y recursos. La primera parte es sobre técnicas e incluye instrucciones para diseñar y analizar algoritmos. En la segunda parte, se presenta una gran referencia de recursos con 75 de los problemas algorítmicos más comunes, además de implementaciones en C/C++ y Java para consultar cuando lo necesite.
4. “Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles”, de Narasimha Karumanchi
Autor: Narasimha Karumanchi
Sitio web: Amazon
Este libro, que solo está disponible en inglés, sirve más como una guía para repasar temas en los que será evaluado en entrevistas, exámenes o certificados. En él, además, se analizan problemas comunes de algoritmos y sus soluciones. Además de describir los aspectos fundamentales de las estructuras de datos y cómo funcionan los algoritmos, los lectores aprenden a escribir algoritmos por su cuenta.
Para usar este material y realizar los ejercicios, es necesario contar con ciertos conocimientos de matemáticas y código C/C++. Con más de 400 páginas y 20 capítulos, este libro es, en esencia, un manual para resolver problemas algorítmicos.
5. “Grokking Algorithms: An illustrated guide for programmers and other curious people”, de Aditya Bhargava
Autor: Aditya Bhargava
Sitio web: Amazon
Se trata de un libro fácil de seguir para programadores que quieren saber un poco más sobre algoritmos y cómo resolver los problemas que puedan surgir. El libro, que solo está disponible en inglés, incluye algunos de los algoritmos más comunes y prácticos, como ordenar y buscar, hasta llegar a los problemas más difíciles relacionados con la compresión de datos y la inteligencia artificial.
Las ilustraciones que acompañan los algoritmos son excelentes para estudiantes que aprenden más rápido con elementos visuales, mientras que las descripciones detalladas explican cada proceso paso a paso. Todos los ejemplos incluyen muestras de código en Python. Si bien no va dirigido a principiantes sin ningún tipo de conocimiento, puede usarse como guía o lectura de actualización para aquellos que posean conocimientos de programación.
6. “Algorithms”, de Robert Sedgewick y Kevin Wayne
Autores: Robert Sedgewick y Kevin Wayne
Sitio web: Amazon
Un título sencillo para un libro no tan sencillo. “Algorithms” (solo disponible en inglés) tiene un nombre conciso y engañoso por el nivel de detalle de los temas que abarca. Este libro de texto exhaustivo repasa algoritmos y estructuras de datos de manera extensa, lo que lo convierte en un recurso completo para el entorno académico. Hasta incluye un portal en línea con código fuente totalmente funcional.
En el libro se describen distintos tipos de datos y las formas de ordenarlos y analizarlos. Además, se destacan los algoritmos importantes útiles para realizar búsquedas, ordenar y procesar. Para practicar, hay un sitio web complementario con ejercicios, datos de prueba, visualizaciones y el código Java completo. Debido a que el libro está muy enfocado en lo académico y se usa a nivel universitario, sirve como manual para aquellos que se están familiarizando con el tema.
7. “Advanced Data Structures”, de Peter Brass
Autor: Peter Brass
Sitio web: Amazon
“Advanced Data Structures” (solo disponible en inglés) resalta la importancia de las estructuras de datos en algoritmos y en la optimización de búsquedas. No es para los débiles, ya que es un texto de nivel de posgrado dirigido a lectores avanzados y a aquellas personas que trabajan con la ciencia de datos. Además, profundiza en las complejidades del almacenamiento de datos en el análisis de datos.
En el libro se incluyen diferentes estructuras de datos y variantes en detalle, donde se analizan pilas, colas, tablas hash, árboles de búsqueda y mucho más. También se describen estructuras más especializadas, como árboles de intervalo. En los capítulos, hay ejemplos de código en C y referencias que respaldan el trabajo. Este libro es sobre las complejidades del almacenamiento de datos; por eso no sorprende el alto nivel de detalle y la rigurosidad.
8. “Automate This: How Algorithms Came To Rule Our World”, de Christopher Steiner
Autor: Christopher Steiner
Sitio web: Chris Steiner | Amazon
A diferencia de la mayoría de los libros sobre algoritmos, este no es en verdad un manual introductorio o de referencia. Se trata más bien de un análisis histórico de cómo los algoritmos son cada vez más importantes en nuestra vida y, con el paso del tiempo, automatizaron tareas especializadas que solían ser manuales.
Ahora, los algoritmos ayudan a conducir autos, expanden el mundo del entretenimiento y predicen el comportamiento humano. Este libro, que solo está disponible en inglés, es más un repaso y una interpretación para poner la sabiduría oculta de los algoritmos en un contexto cultural accesible.
Aviso de declinación de responsabilidades: Tableau no se responsabiliza oficialmente de ningún producto u opinión que se incluya en este artículo y, por lo tanto, esta página no tiene ningún tipo de relación con ninguno de los programas de vínculos afiliados. El objetivo de este artículo es puramente para fines educativos; asimismo, la información detallada arriba acerca de productos y publicaciones se incluye para que los lectores puedan tomar decisiones informadas por su cuenta.