Em ciência de dados, os algoritmos e as estruturas de dados compõem a função e o armazenamento da coleta de dados. Embora a codificação e o conhecimento matemático aplicado sejam úteis no aprendizado dessas estruturas, é possível encontrar vários livros para iniciantes. Muitos deles se concentram em uma estrutura específica que visa facilitar o aprendizado, usando exemplos e códigos de trabalho para embasar a teoria por trás do assunto. Depois que você entender os fundamentos da ciência de dados, aprender a usar algoritmos será uma excelente maneira de desenvolver o seu conhecimento.
Este artigo apresenta vários livros (em inglês) sobre algoritmos e estruturas, com temas voltados para iniciantes, pessoas com conhecimento intermediário e usuários avançados.
1. “Introduction to Algorithms”, de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein
Autores: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein
Site: Amazon
“Introduction to Algorithms” oferece uma visão geral ampla e um guia abrangente para algoritmos. O livro funciona como uma referência enciclopédica de algoritmos modernos, abrangendo extensivamente todos os temas que envolvem teoria e prática em suas mais de mil páginas.
O conteúdo é muito prático, mostrando problemas com diagramas e provas, implementando algoritmos e analisando a teoria por trás dos resultados. “Introduction” pressupõe certa familiaridade com matemática e estruturas de dados, mas leitores sem esse conhecimento prévio também terão muito o que aprender.
2. “Algorithms Unlocked”, de Thomas H. Cormen
Autor: Thomas H. Cormen
Site: Amazon
Na obra “Algorithms Unlocked”, Thomas Cormen procura desmistificar a tecnologia e desvenda os segredos por trás de seu funcionamento interno. Muitos mecanismos que já consideramos comuns, como criptografia na internet e trajetos automatizados por GPS, funcionam com algoritmos aplicados.
O livro explica como os computadores usam algoritmos para resolver problemas, criando várias das tarefas de tecnologia que vemos no cotidiano. Cormen examina os detalhes da essência dos algoritmos de computador e ensina os leitores a usarem algoritmos para fazerem tarefas simples, como pesquisa, classificação e representação gráfica. A obra é um recurso interessante para qualquer pessoa que queira saber como os algoritmos funcionam no mundo moderno.
3. “The Algorithm Design Manual”, de Steven S. Skiena
Autor: Steven S. Skiena
Site: Amazon
“The Algorithm Design Manual” é uma introdução à criação de algoritmos. Além de abranger a teoria por trás de um projeto de algoritmo, o livro traz exemplos e exercícios práticos para usar como pontos de referência. Skiena apresenta o “pseudocódigo” como uma forma de transição fácil entre as várias linguagens de programação usadas em algoritmos. O autor fala sobre uma série de algoritmos modernos, como teoria de grafos, geometria computacional e algoritmos com várias threads.
O livro é dividido em duas seções: Técnicas e Recursos. Na parte de Técnicas, o leitor aprende a projetar e analisar algoritmos. Em Recursos, o leitor é apresentado a uma grande referência de recursos com 75 dos problemas de algoritmos mais comuns, além de implementações em C/C++ e Java.
4. “Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles”, de Narasimha Karumanchi
Autor: Narasimha Karumanchi
Site: Amazon
Este livro funciona como um guia para relembrar situações em que o leitor será testado, como entrevistas, exames ou certificados, além de mostrar problemas comuns de algoritmos e suas soluções. O conteúdo abrange as noções básicas de estruturas de dados e funcionamento de algoritmos, além de ensinar os leitores a criarem seus próprios algoritmos.
Para fazer os exercícios, é necessário ter familiaridade com matemática e códigos C/C++. Com mais de 400 páginas e 20 capítulos, este livro é praticamente uma pasta de trabalho para resolver problemas relacionados a algoritmos.
5. “Grokking Algorithms: An illustrated guide for programmers and other curious people”, de Aditya Bhargava
Autor: Aditya Bhargava
Site: Amazon
Este livro fácil de entender ajuda programadores a aprenderem um pouco mais sobre algoritmos e a descobrirem como resolver problemas comuns. O livro mostra alguns dos algoritmos mais usuais e práticos, como classificação e pesquisa, e desenvolve o conteúdo para tratar de problemas mais difíceis de compactação de dados e inteligência artificial.
Ilustrações excelentes acompanham os algoritmos, e as orientações explicam o passo a passo de cada processo. Os exemplos incluem amostras de código em Python. Este livro não é ideal para iniciantes sem experiência, mas pode funcionar como guia ou forma de atualização para quem já conhece a área de programação.
6. “Algorithms”, de Robert Sedgewick e Kevin Wayne
Autores: Robert Sedgewick e Kevin Wayne
Site: Amazon
Com título simples e teor não tão simples, o caráter sucinto do nome “Algorithms” não reflete a total profundidade da obra. Como seu conteúdo esmiúça detalhadamente algoritmos e estruturas de dados, este livro é considerado um recurso abrangente para ambientes acadêmicos. A obra também inclui um portal on-line com código-fonte completo.
O livro abrange vários tipos de dados e mostra como classificá-los e analisá-los, além de destacar algoritmos importantes e úteis para pesquisa, classificação e processamento. Para quem precisa de prática, o site complementar oferece exercícios, dados de teste, visualizações e o código Java completo. Por ter um viés acadêmico e ser usado em universidades, este livro funciona como um manual para quem está começando a explorar a área.
7. “Advanced Data Structures”, de Peter Brass
Autor: Peter Brass
Site: Amazon
“Advanced Data Structures” destaca a importância das estruturas de dados para os algoritmos e a otimização de pesquisas. Este livro não é ideal para qualquer pessoa, pois seu conteúdo acadêmico se destina a leitores avançados e profissionais de ciência de dados, investigando as complexidades do armazenamento de dados na área da análise.
A obra aborda detalhadamente as diferentes variantes e estruturas de dados, mostrando pilhas, filas, tabelas de dispersão, árvores de pesquisa e muito mais. O conteúdo também inclui estruturas mais especializadas, como árvores de intervalo. Os capítulos trazem exemplos práticos de código em C e referências de apoio. Por ser um manual sobre as complexidades do armazenamento de dados, este livro é denso em nível de detalhe e abrangência.
8. “Automate This: How Algorithms Came To Rule Our World”, de Christopher Steiner
Autor: Christopher Steiner
Site: Chris Steiner | Amazon
Este livro não chega a ser um manual de introdução ou referência, como a maioria dos livros sobre algoritmos, mas traz uma visão histórica de como os algoritmos ganharam cada vez mais importância em nossas vidas, até automatizarem tarefas avançadas que antes eram feitas manualmente.
Os algoritmos nos ajudam quando dirigimos carros, aumentam a abrangência dos meios de entretenimento e fazem previsões do comportamento humano. Este livro funciona como uma revisão e uma série de comentários que visam desmistificar os algoritmos e trazê-los para um contexto cultural acessível.
Isenção de responsabilidade: A Tableau não endossa oficialmente qualquer produto ou opinião descritos neste artigo e, como tal, esta página não tem qualquer vínculo com programas afiliados. Este artigo foi criado exclusivamente para fins educacionais, e as informações sobre produtos e publicações são disponibilizadas para que os leitores possam tomar decisões informadas por si mesmos.