TecnologiaComputação

Algoritmos: curiosidades e quiz

O essencial em 7 ideias, com curiosidades, uma história ilustrada e um quiz para ver o quanto você sabe.

O essencial

Aprenda

O que é um algoritmo

Imagem em pixel art: O que é um algoritmo

Um algoritmo é um conjunto de passos claros para resolver um problema, como uma receita. Os computadores seguem algoritmos, e as pessoas também, quando amarram os cadarços.

Ponto-chave
A palavra vem de al-Khwarizmi, um matemático persa do século IX.

Aprenda

Busca

Para achar um nome numa lista em ordem, não comece do início: abra no meio, veja em que metade ele está e repita. Isso é a busca binária.

Ponto-chave
A busca binária acha um nome entre um milhão em cerca de 20 passos.

Aprenda

Ordenação

Ordenar é colocar as coisas em ordem. Os métodos simples comparam vizinhos e trocam os dois de lugar; os mais rápidos dividem a lista, ordenam as partes e depois as juntam.

Ponto-chave
Um computador consegue ordenar um milhão de itens em uma fração de segundo.

Aprenda

Recomendações

Apps de streaming e de compras usam algoritmos para adivinhar do que você vai gostar, com base no que você e pessoas parecidas com você escolheram antes.

Ponto-chave
As recomendações podem nos prender numa bolha de mais do mesmo.

Aprenda

Algoritmos rápidos e lentos

Dois algoritmos podem resolver o mesmo problema em velocidades bem diferentes. Conforme a entrada cresce, um método esperto pode ser milhões de vezes mais rápido que um ingênuo.

Ponto-chave
Os cientistas da computação descrevem a velocidade com a notação “Big O”.

Aprenda

Achando a melhor rota

Imagem em pixel art: Achando a melhor rota

Os apps de mapa acham a rota mais rápida com algoritmos de caminho mínimo, como o que Edsger Dijkstra inventou em 1956, dizem que em uns 20 minutos.

Ponto-chave
Dijkstra o criou sem lápis nem papel, num café.

Aprenda

Problemas difíceis

Alguns problemas não têm nenhum algoritmo rápido conhecido. Achar a viagem mais curta que passa por várias cidades, o problema do caixeiro-viajante, fica explosivamente mais difícil a cada cidade.

Ponto-chave
Com 20 cidades, há mais de 60 quatrilhões de viagens de ida e volta possíveis.

Curiosidades

Você sabia?

O método de Euclides para achar o máximo divisor comum tem mais de 2.000 anos, e os computadores ainda o usam.

Você sabia?

Para adivinhar um número de 1 a 1.000 cortando o intervalo pela metade a cada vez, nunca são necessários mais de 10 palpites.

Você sabia?

A ordenação embutida do Python, o Timsort, mistura dois métodos: merge sort para trechos grandes e insertion sort para os pequenos.

Você sabia?

A Netflix já ofereceu um prêmio de 1 milhão de dólares para quem melhorasse suas recomendações em 10%. Uma equipe ganhou em 2009.

Você sabia?

Ordenar um milhão de itens comparando todos os pares leva cerca de meio trilhão de passos; métodos espertos precisam de uns 20 milhões.

Você sabia?

A UPS planeja suas rotas de entrega para evitar, sempre que possível, conversões que atravessam a mão contrária, economizando combustível e tempo.

Você sabia?

Provar se problemas assim podem ou não ser resolvidos rápido vale um prêmio de 1 milhão de dólares.

História: O homem que virou palavra

Hora da história
Imagem da história “O homem que virou palavra”

O homem que virou palavra

Bagdá, por volta de 825. O estudioso Muhammad al-Khwarizmi escreve um livro sobre como calcular com os algarismos indianos, incluindo o zero.

Hora da história

Três séculos depois, ele é traduzido para o latim como “Algoritmi sobre os números indianos”. Algoritmi é só o nome dele, escrito à maneira latina.

Hora da história

Os leitores entenderam aquilo como uma palavra para o cálculo passo a passo. “Algorismo” virou aos poucos “algoritmo”, e assim toda receita para computador leva o nome dele.

Verdadeiro ou falso?

Toque na sua resposta para ver se acertou, e por quê.

  1. Pergunta 1 de 10

    Um algoritmo é uma sequência definida de passos.

    Ver a resposta

    Verdadeiro. Claros o bastante para que qualquer pessoa, ou máquina, possa segui-los.

  2. Pergunta 2 de 10

    A busca binária precisa que a lista esteja em ordem.

    Ver a resposta

    Verdadeiro. Senão não dá para saber com qual metade ficar.

  3. Pergunta 3 de 10

    Alguns métodos de ordenação dividem a lista em partes menores.

    Ver a resposta

    Verdadeiro. Como o merge sort e o quicksort.

  4. Pergunta 4 de 10

    Os algoritmos de recomendação aprendem com escolhas passadas.

    Ver a resposta

    Verdadeiro. As suas e as de pessoas parecidas.

  5. Pergunta 5 de 10

    Dois algoritmos podem resolver a mesma tarefa em velocidades bem diferentes.

    Ver a resposta

    Verdadeiro. O método importa mais à medida que a tarefa cresce.

  6. Pergunta 6 de 10

    Os apps de mapa usam algoritmos para achar rotas.

    Ver a resposta

    Verdadeiro. Pesando distância, trânsito e tipos de via.

  7. Pergunta 7 de 10

    Alguns problemas não têm nenhum algoritmo rápido conhecido.

    Ver a resposta

    Verdadeiro. Ninguém achou ainda um método rápido para eles.

  8. Pergunta 8 de 10

    Todo algoritmo precisa ser escrito em uma linguagem de programação.

    Ver a resposta

    Falso. Uma receita escrita em palavras simples também é um algoritmo.

  9. Pergunta 9 de 10

    A busca binária confere cada item, um por um.

    Ver a resposta

    Falso. Ela corta a lista pela metade a cada passo.

  10. Pergunta 10 de 10

    Todos os métodos de ordenação são igualmente rápidos.

    Ver a resposta

    Falso. Alguns são muito mais rápidos em listas grandes.

O gato Soda

Continue no app

O KnowSoda aprende o que você sabe e traz de volta o que você está prestes a esquecer. Algoritmos tem mais 6 ideias nos níveis Avançado e Especialista.

Fontes