Algoritmos
Resumo de Algoritmos para Concursos Públicos
1. Conceito de Algoritmo
Um algoritmo é uma sequência lógica e finita de passos para resolver um problema. Deve ser claro, preciso e eficiente.
2. Representações de Algoritmos
- Linguagem Natural: Descrição textual dos passos
- Fluxograma: Representação gráfica com símbolos padronizados
- Pseudocódigo: Notação estruturada próxima da linguagem de programação
3. Estruturas Básicas
- Sequência: Execução ordenada de instruções
- Seleção (if/else): Desvios condicionais
- Repetição (loops): For, while, repeat - para iterações
4. Complexidade de Algoritmos
Análise de desempenho medida por:
- Tempo: Quantidade de operações (notação Big-O)
- Espaço: Memória utilizada
5. Algoritmos Clássicos
- Busca: Sequencial (O(n)) e Binária (O(log n))
- Ordenação: Bubble Sort, Selection Sort, Insertion Sort, Quick Sort, Merge Sort
6. Verificação de Corretude
Técnicas para validar algoritmos:
- Testes de mesa
- Indução matemática
- Invariantes de loop
7. Tópicos Frequentes em Concursos
- Análise de complexidade (pior caso, melhor caso)
- Algoritmos recursivos
- Algoritmos greedy (gananciosos)
- Divisão e conquista