Imagine que você está com o corpo relaxado no sofá da sua casa, lendo um livro. De repente, a campainha faz você voltar à realidade. O que você faz? Você poderia colocar o livro de lado, se levantar, ir até a porta e perguntar “quem é?”. Se fosse seguro, você abriria a porta.
Como você percebeu, você seguiu um algoritmo com instruções para atender a porta. Na computação, há tipos diferentes de algoritmos. Neste texto, você vai conhecer 6 tipos de algoritmos, suas principais diferenças e para que servem. Siga a leitura!
1. Algoritmos de Força Bruta
Como você faria para dar o resultado da multiplicação de 2673 por 1538? Considerando que você não vai usar uma calculadora, a maneira que vem mais rápido à mente é tentar resolver na mão, multiplicando 8 por 3, depois 8 por 7 e por aí vai.
Esse é um exemplo de algoritmo de força bruta. Ele não conta com técnicas que economizam tempo e esforço para a resolução de um problema e se baseiam na repetição de tentativas até chegar no resultado esperado.
Em teoria, este algoritmo serve para vários contextos. Seu problema é que quanto maior o input, maior o tempo que ele leva para retornar um resultado.
2. Algoritmos de Recursão
Se você tem boa memória, deve lembrar como se calcula o fatorial de um número. O cálculo do fatorial é um exemplo clássico de Recursão. Nestes algoritmos, o problema é quebrado em problemas menores, que são chamados constantemente até que o caso básico seja atendido.
Suponha que você queira saber o fatorial de 5. Os problemas menores vão seguir a fórmula n * n -1.
O caso básico segue a premissa de que o cálculo acaba quando n for igual a 1. Então o algoritmo fará 5 * 5 – 1, 4 * 4 -1… até retornar 120.
Esse algoritmo geralmente é construído com ajuda de estruturas de repetição. Há várias aplicações deste algoritmo, como Fibonacci, Torre de Hanói ou mesmo outros algoritmos derivados como Binary Search, Merge Sort, Quick Sort etc.
3. Algoritmos de Ordenação
Pense em uma lista de números de 0 a 100, totalmente desordenados. Um algoritmo de ordenação serve para organizar, da maneira que se deseja, qualquer conjunto. Sendo assim, se você quisesse fazer uma lista em ordem decrescente ou crescente, usar este algoritmo é a saída ideal.
Quem trabalha com dados pode se beneficiar bastante do poder que algoritmos de ordenação oferecem. Alguns exemplos são Bubble Sort, Merge Sort, Quick Sort etc.
4. Algoritmos de Busca
Um dos melhores exemplos para este tipo de algoritmo é o Google. Como se sabe, há bancos de dados contendo toneladas de informações, que podem estar ordenadas ou não.
Sua curiosidade faz você digitar alguma coisa na aba de pesquisa e após o enter o que você queria aparece na sua tela. Por trás dessa ação, há vários algoritmos responsáveis por trazer a informação até você. Um deles é o de busca.
A lógica por trás deste algoritmo é simples: dentro de um conjunto de dados, o algoritmo vai pesquisar o valor do input fornecido e retornar, caso este input exista. Bons exemplos para este algoritmo são Binary Search e Linear Search.
5. Algoritmos Gulosos
Esses algoritmos seguem a lógica de sempre escolher a decisão que se encaixa melhor em determinado contexto. Para ficar mais claro, imagine que você precisa ir até o centro da cidade e possui 3 rotas, mas não sabe qual delas é a mais rápida.
Há muitas variáveis a serem consideradas para dizer se o caminho é o mais rápido, como trânsito, se é perigoso, se há buraco pelo caminho etc. Você pondera tudo o que pode e decide que para aquela ocasião, há uma rota mais curta, só que o trecho está em obras e outra que é mais longa não tem quase nenhum trânsito.
Logo, você se decide pela rota mais longa, porque ela é a melhor opção para aquele momento. Algoritmos gulosos seguem a mesma lógica.
6. Algoritmos de Retrocesso
Você já jogou Sudoku ou Palavras Cruzadas? Lembra que cada espaço em branco possui várias possibilidades?
Pois bem, os algoritmos de retrocesso funcionam da seguinte maneira: eles observam um ponto a ser solucionado (por exemplo, um quadrado branco de uma das malhas 9×9 de Sudoku) e considera todas as opções possíveis. As que não se encaixam, ele descarta, até que a opção desejada apareça.
Agora é com você!
Neste texto, você conheceu 6 tipos fundamentais de algoritmos e entendeu um pouco da lógica por trás deles, além de exemplos e onde podem ser aplicados.
E se você quiser aprender como desenhar estes algoritmos com uma linguagem de programação, basta conhecer o hub de tecnologia Academia Tech, e mergulhar num oceano de informação tecnológica.
Se interessa por tecnologia? Veja a lista completa de cursos que a Faculdade Anhanguera te oferece!
Perguntas Frequentes
Algoritmos trazem uma série de benefícios práticos para quem entende como eles funcionam. Um dos mais importantes é que outras pessoas já criaram algoritmos que resolvem uma série de problemas.
Outro benefício é que algoritmos tornam o código e o pensamento mais claro, o que facilita a manutenção do código e implementações futuras, sem danificar a estrutura.
Em termos simples, o caso básico é a condição que para o algoritmo de recursão. Então, se você desenvolve um código que precisa encontrar o fatorial de um número, você tem em mente que a conta sempre para no número 1.
O mesmo pensamento vale para qualquer tipo de algoritmo de recursão, sempre tendo que levar em conta que o caso básico precisa existir para o correto funcionamento.
Imagine que você tem 100 números e quer que um programa retorne o número 56. A solução mais simples é fazer uma contagem número por número até chegar em 56.
O algoritmo Binary Search melhora essa lógica. Ao invés de contar até chegar no número 56, ele divide o conjunto maior pela metade repetidas vezes até chegar no valor desejado, o que gera uma grande economia.
Graduado em Letras – Português / Espanhol pela Universidade Federal do Ceará. Atuou por 3 anos como bolsista-pesquisador em um projeto interdisciplinar entre as áreas de Linguística e Ciências da Computação. É copywriter e redator desde 2021. Ama de paixão tudo relacionado a escrita, tecnologia, cachorros, histórias e xadrez.