Intermédio (Nível 2)

Pesquisa binária

Revisitamos um método que discutimos nos guias do Nível 1. Veremos generalizações deste método para aplicar a diferentes tipos de problemas.

Programação Dinâmica

Um conceito clássico presente em quase todos os concursos. Além de vários problemas dedicados a este tema, é muitas vezes uma parte importante de vários outros tipos de problemas.

Algoritmos greedy

Alguns problemas são mais fáceis do que parecem. Às vezes a resposta não passa por tentar todas as soluções possíveis, mas sim reparar que há uma maneira simples de saber como chegar a resposta. Vamos ver um caso simples mas importante neste tópico.

Estrutura de intermédias

Após os primeiros passos no mundo algorítmico, passamos a outro tema introdutório de extrema importância: estruturas de dados. Como guardar a informação que nos é dada num problema? Como fazê-lo de forma eficiente? Como a modificar de forma eficiente? Tudo perguntas a explorar com estes artigos.

Introdução a grafos

Uma ferramenta muito importante para vários problemas é o grafo. Este é um modelo de entidades e relações entre entidade, sejam caminhos, amizades etc, que é central a vários tipos de problemas.

Ávores

As árvores são classes de grafos muito interessantes. Além de tema recorrente de vários problemas, são úteis como modelo algorítmico em várias situações. Veremos uma pequena introdução sobre o tema assim como algumas aplicações.