estante
Capa de Entendendo Algoritmos

Entendendo Algoritmos

Aditya Y. Bhargava

★★★★★

lido em 11 de jun. de 2026

Entendendo algoritmos é um livro muito bom para iniciantes, ele te introduz a conceitos importantes de uma maneira simples, fazendo analogias como comparar a memória do computador com gavetas, o exemplo que aparece é exatamente esse: “Imagine que você vai a um show e precisa guardar as suas coisas na chapelaria. Algumas gavetas estão disponíveis. Cada gaveta pode guardar um elemento. Você deseja guardar duas coisas então pede duas gavetas.” Sim, é bem superficial e não fala sobre bits, bytes, quantos bytes são usados pra representar tal tipo primitivo, mas isso é exatamente o porque desse livro ser tão bom pra iniciantes, ele introduz esses conceitos que são difíceis para iniciantes superficialmente e tirando uma parte da complexidade pra não fritar completamente a cabeça do leitor, como memória de um jeito intuitivo até, como mostrado no trecho anterior.

Esse foi o primeiro livro técnico que eu li na vida e o primeiro livro de programação e eu acho que ele cumpriu muito bem a sua função de me passar conhecimento como um iniciante, e mesmo sendo introdutório eu quebrei um pouco a cabeça tentando entender algumas partes como o Quicksort, que tem um capítulo dedicado a ele, vulgo Cap.4, além disso tive uma introdução muito boa a grafos, que eu considero um conceito relativamente complexo, principalmente quando se entra em árvores, no Cap.6 temos uma breve introdução a grafos para falarmos da pesquisa em largura ou BFS/breadth-first-search.

O livro não se prende muito a sintaxe, ele é mais conceitual que prático, mas em questão de código ele usa exemplos em Python, que eu acho um grande acerto do autor, porque Python elimina boa parte da parte da dificuldade de entender sintaxe, porque é simples e até natural pra quem entende inglês.

Esse livro é perfeito pra iniciantes e pessoas experientes que querem uma leitura mais leve pra recapitular conceitos, no fim, convenhamos, provavelmente nunca vamos precisar implementar essas estruturas de dados do 0, no máximo numa entrevista de emprego com leetcode e olhe lá, no máximo implementar uma Queue/Stack, BST, etc; mas ainda assim eu acho de grande importância o programador entender como funcionam as coisas por baixo porque te dá um entendimento melhor do todo, saber que vários filesystems usam variações de B-Trees, saber que índices de bancos de dados usam B-Trees, entender porque não se usam BSTs pra tudo, todos esses conceitos acabam construindo um repertório muito bom e te tornam um programador diferenciado.

Não sei se alguém vai ler até o final, mas foi uma experiência boa fazer essa resenha literária, sim, eu escrevi tudo na mão no neovim, porque qual seria o ponto de fazer uma resenha literária sem a minha opinião? Espero que eu tenha contribuído com essa resenha, tmj

← estante