DEV Community

Cover image for Review: Um guia ilustrado de algoritmos para programadores e outros curiosos
Vandemberg
Vandemberg

Posted on

Review: Um guia ilustrado de algoritmos para programadores e outros curiosos

Esse review não é um resumo do livro. É apenas minha opinião, visão e pontos que achei interessante na obra. Assim como assuntos que senti falta ou não gostei da abordagem.

Primeiras impressões

A primeira vista achei que seria um livro semelhante a série de livro "Use a cabeça", ou seja, livros com bastante narrativa, storytelling e ilustrações. Que é um estilo que não curto muito por não gostar do formato realmente. Mas eu tive uma AGRADÁVEL surpresa.

O livro trás excelentes exemplos sem se alongar muito, com ilustrações simples na medida certa junta a definições claras e diretas. Acho que o livro encontrou o equilíbrio perfeito entre exemplos, storytelling e teoria.

Conteúdo

O livro para mim pode ser separado em três partes, essas partes tem diferentes complexidades, podendo ser divida entre básica, média e avançada. A própria ordem dos capítulos é definida dessa forma, a medida que avançamos na leitura o livro aborda assuntos mais complexos, de certa forma sequer percebemos essa mudança sútil.

Na primeira parte do livro é abordado os assuntos: arrays, listas encadeadas, notação big O, busca sequencial, busca binária, ordenação, Quicksort e hashes. Perceba que primeiro é apresentado duas estruturas de dados, depois a forma de como podemos analisar essas estruturas utilizando big O notation, então nos é apresentado algoritmos diferentes, com o conhecimento anterior podemos entender a vantagem de cada estrutura e cada algoritmo. Essa parte para mim é a de mais fácil entendimento e melhor custo benefício, com pouco conhecimento você se desenvolve bastante como programador.

Agora avançando um pouco para estruturas mais avançadas é nos apresentado o conceito de grafo. Avançando para grafo direcional, árvore, algoritmo para achar menor caminho e algoritmo de Dijkstra. Por ser um assunto mais complexo nesses capítulos é necessário uma leitura cautelosa.

Por fim o livro adentra em conhecimentos mais avançados e em algoritmos mais específicos, como k-vizinhos, problema do CACHEIRO VIAJANTE, programação dinâmica e outros. Possuindo também uma excelente explicação do algoritmo do cacheiro viajante, a forma que é abordado é incrível. Finalmente entendi esse problema é porque ele é tão complexo.

Conclusão

Excelente livro para programadores de qualquer nível, incrível para aprender conceitos, revisar conceitos e aparar arestas. A forma como o livro desenvolve e explica a estrutura de hashes é notável.

Porém senti falta de algumas coisas também, achei a explicação de pilha e fila bem superficial, sendo que hoje é um assunto muito importante, ainda mais com uma alta de micro serviços.

Top comments (0)