Algoritmos Avançados
O(∞) · optativaTécnicas para resolver problemas difíceis com eficiência.
Estuda técnicas e estruturas para resolver problemas difíceis com eficiência. Cada algoritmo tem intuição, animação passo a passo, código e análise de complexidade.
Contribuição
Se você tiver materiais úteis desta disciplina, pode colaborar com a biblioteca e ajudar a enriquecer esta seção.
Algoritmos
- Algoritmo de DijkstraMenor caminho a partir de uma origem em grafos com pesos não negativos.
- Busca em Largura (BFS)Explora o grafo por camadas e acha o menor caminho em número de arestas.
- Busca em Profundidade (DFS)Mergulha o máximo possível por um caminho antes de voltar (backtracking).
- Menor Ancestral Comum (LCA)Ancestral comum mais profundo de dois nós de uma árvore, com binary lifting.
- Árvore de Segmentos (Segment Tree)Consultas de intervalo e atualizações pontuais em tempo logarítmico.
- Propagação Preguiçosa (Lazy Propagation)Atualizações em intervalo na árvore de segmentos em O(log n), adiando o trabalho.