15 minutos
Capa do resumo de Entendendo Algoritmos

Tecnologia e futuro · 15 min

Entendendo Algoritmos

Aditya Bhargava · 2016

Para quem é

Para estudantes, iniciantes em programação e curiosos que querem entender como funcionam buscas, rotas e recomendações, sem muita matemática. É um livro de entrada, ilustrado e leve.

Ler e ouvir no app

⚡ Grátis pra baixar • 🎁 1 livro grátis por dia

🎧 Grátis, sem cadastro: ouça o resumo completo aqui.

Ouça o resumo completo (13 min)

Quer o texto acompanhando o áudio, o quiz e as Jornadas? Baixe o app

3 ideias pra levar

1

A busca em largura explica por que um pedido de amizade para o amigo de um amigo é fácil de sugerir.

2

Atribuir peso às ligações muda a resposta: o caminho com menos paradas pode não ser o mais rápido.

3

Em problemas muito difíceis, uma regra prática que dá um resultado bom e rápido costuma valer mais do que a solução perfeita que demora demais.

“
Arrumar os dados uma vez pode poupar milhares de buscas depois.
Uma ideia de Entendendo Algoritmos, nas palavras do 15 minutos

Prévia

Comece a ler agora

Um guia ilustrado, sem medo de matemática

Entendendo Algoritmos, de Aditya Bhargava, publicado em 2016, é um livro de introdução à ciência da computação feito para quem tem medo do tema. Em vez de páginas de fórmulas, usa desenhos à mão, exemplos do cotidiano e pouca matemática. O subtítulo do original promete um guia ilustrado para programadores e curiosos, e cumpre o que promete.

Um algoritmo é só uma receita: uma sequência de passos para resolver um problema. O livro mostra os mais clássicos, os problemas que cada um resolve e o raciocínio por trás. Os exemplos de código, em Python, são curtos, e quem não programa consegue acompanhar as ideias pelas figuras.

A proposta de fundo é que conhecer alguns algoritmos básicos ajuda a escolher a ferramenta certa. Entre duas formas de resolver um problema, saber qual é mais rápida e por quê faz diferença em sistemas que atendem milhares de pessoas.

Busca binária: adivinhar com método

O primeiro algoritmo é a busca binária. A imagem usada é a do jogo de adivinhar um número entre 1 e 100. Se você chutar 1, depois 2, depois 3, pode levar cem tentativas. Se começar pelo meio e cada resposta disser se o número é maior ou menor, descarta metade das opções a cada chute e acerta em poucas jogadas.

A busca binária só funciona quando a lista está ordenada, e é por isso que dicionários e listas telefônicas são organizados em ordem alfabética. Ninguém lê todos os nomes para achar um: abre-se no meio e se ajusta. Em uma lista com um milhão de itens, o método encontra o alvo em cerca de vinte passos.

O ensinamento é que organizar os dados antes de buscar pode compensar enormemente. Muitas vezes, o trabalho de arrumar a casa uma vez economiza milhares de buscas depois.

Big O: medir como o custo cresce

O livro apresenta a notação Big O, a linguagem para falar de velocidade de algoritmos. Ela não mede segundos, e sim como o número de passos cresce conforme a quantidade de dados aumenta. É uma forma de comparar métodos sem depender do computador.

Percorrer uma lista inteira para achar um item cresce na mesma proporção do tamanho da lista, o que se chama tempo linear. A busca binária cresce bem devagar, o chamado tempo logarítmico. Ordenar do jeito mais simples cresce muito mais rápido. E há problemas cujo custo explode, como testar todas as rotas possíveis entre muitas cidades.

A moral é que, com poucos dados, qualquer método serve, mas com muitos a diferença é abissal. Uma planilha que roda bem com cem linhas pode travar com cem mil, e a razão está na forma como o custo cresce.

Faltam 11 seções e o quiz

Continue no app

Leia o resumo inteiro com o texto acompanhando a narração, feche com o quiz de Entendendo Algoritmos e siga pelas Jornadas guiadas. Sem anúncios no app.

Livro completo

Gostou? Leia Entendendo Algoritmos inteiro

Em papel, direto na livraria — entrega rápida e preço de lá.

🛒 Comprar o livro completo

na Livrarias Curitiba

Lendo à noite?💡 Luminária de leitura a partir de R$ 27

Sobre Aditya Bhargava

Aditya Bhargava é engenheiro de software e autor de Entendendo Algoritmos (Grokking Algorithms), publicado em 2016. Ele também fez as ilustrações do livro, o que ajuda a explicar o estilo visual da obra. Mantém um blog com textos ilustrados sobre programação, entre eles o conhecido guia visual de functors, applicatives e monads.

Explore