Este repositório documenta minha jornada de aprendizado e implementação de algoritmos e estruturas de dados complexos. As soluções aqui presentes são baseadas nos conceitos abordados na disciplina SCC0218 - Algoritmos Avançados e Aplicações, ministrada pela Professora Leo Sampaio Ferraz Ribeiro.
O objetivo é aprofundar a compreensão de paradigmas de programação avançados e aplicá-los na resolução de problemas.
-
Paradigmas de Programação:
- Força Bruta e Backtracking: Explorando soluções exaustivas para problemas de busca.
- Algoritmos Gulosos: Estratégias que fazem escolhas localmente ótimas.
- Divisão e Conquista: Quebrando problemas em subproblemas menores, como na Busca Binária.
- Programação Dinâmica: Resolvendo problemas por meio da combinação de soluções de subproblemas sobrepostos.
-
Tópicos Essenciais:
- Teoria dos Números: Aplicações de conceitos matemáticos para otimização de algoritmos.
- Grafos: Representação e algoritmos de travessia (busca em largura e profundidade), caminhos mínimos e conectividade.
- Strings: Algoritmos de busca e processamento de texto.
- Teoria dos Jogos: Análise algorítmica de estratégias em jogos.
- Geometria Computacional: Resolução de problemas geométricos.
Este projeto reflete o aprimoramento contínuo das minhas habilidades em programação competitiva e a preparação para desafios do mundo profissional.