Algoritmos

A Receita da Computação

Um algoritmo é como uma receita: uma sequência de passos que, se seguidos corretamente, levam ao resultado desejado.


🤔 O que é um Algoritmo?

Definição

Um algoritmo é uma sequência finita de instruções bem definidas para resolver um problema ou realizar uma tarefa.

PerguntaResposta
O que é?Sequência de passos para resolver um problema
Por que é importante?É a base de toda programação e computação
Onde usamos?Em todo lugar: apps, jogos, buscas, redes sociais

✅ Características de um Algoritmo

Todo Algoritmo Deve Ter

CaracterísticaDescrição
PrecisãoCada passo deve ser claro e não ambíguo
UnicidadeCada passo produz um resultado único
FinitudeDeve terminar após um número finito de passos
EntradaPode receber dados de entrada
SaídaDeve produzir um resultado

🍳 Exemplos na Vida Cotidiana

Algoritmos do Dia a Dia

ExemploDescrição
Receita de boloIngredientes (entrada) → Passos → Bolo (saída)
GPS/Google MapsOrigem + Destino → Cálculo de rota → Direções
Pesquisa no GoogleTermo buscado → Algoritmo de busca → Resultados
Recomendações NetflixHistórico → Análise de padrões → Sugestões

📚 Tipos de Algoritmos

🔍 Algoritmos de Busca

TipoComo FuncionaExemplo
Busca LinearVerifica item por itemProcurar nome em lista não ordenada
Busca BináriaDivide a lista ao meio repetidamenteProcurar palavra em dicionário

📊 Algoritmos de Ordenação

TipoComo FuncionaVelocidade
Bubble SortCompara pares adjacentes e trocaLento
Quick SortDivide e conquista com pivôRápido
Merge SortDivide, ordena e mesclaRápido

📝 Representação de Algoritmos

Pseudocódigo

O que é?

Uma forma de escrever algoritmos usando linguagem natural estruturada, sem se preocupar com sintaxe de programação.

INÍCIO
    LEIA numero1
    LEIA numero2
    soma = numero1 + numero2
    ESCREVA "A soma é: ", soma
FIM

Diagrama de Fluxo (Fluxograma)

O que é?

Representação gráfica do algoritmo usando símbolos padronizados.

SímboloSignificado
OvalInício/Fim
RetânguloProcesso/Ação
LosangoDecisão (Sim/Não)
ParalelogramoEntrada/Saída
SetaFluxo de execução

⏱️ Análise de Algoritmos

Por que Analisar?

Nem todo algoritmo que funciona é eficiente. A análise ajuda a escolher o melhor algoritmo para cada situação.

Complexidade de Tempo

NotaçãoNomeDescrição
O(1)ConstanteSempre leva o mesmo tempo
O(log n)LogarítmicaCresce lentamente
O(n)LinearCresce proporcionalmente
O(n²)QuadráticaCresce rapidamente

Complexidade de Espaço

AspectoDescrição
O que medeQuantidade de memória usada
Por que importaRecursos são limitados

📝 Conclusão

Pontos Principais

  • Algoritmos são a base da computação e programação
  • Devem ser precisos, únicos e finitos
  • Podem ser representados por pseudocódigo ou fluxogramas
  • A análise de complexidade ajuda a escolher o algoritmo mais eficiente

Próximos Passos

Para aprofundar, estude estruturas de dados e algoritmos mais complexos como grafos, árvores e programação dinâmica.