Trilha 03

⏱️ Algoritmos e complexidade

Dois algoritmos podem resolver o mesmo problema e um ser um bilhão de vezes mais rápido que o outro. Esta trilha ensina a pensar em eficiência: a notação Big O para medir crescimento, os algoritmos de busca e ordenação fundamentais, a estratégia de recursão e divisão e conquista, as estruturas de dados certas para cada problema, e grafos para modelar qualquer rede ou dependência.

3.1

Notação Big O

Como medir e comparar algoritmos. O(1), O(log n), O(n), O(n log n), O(n²) — e por que a constante não importa, mas a classe de crescimento muda tudo.

Disponível
3.2

Busca

Busca linear olha tudo: O(n). Busca binária divide ao meio: O(log n). Para 1 bilhão de elementos, a diferença é entre 1 bilhão e 30 comparações.

Disponível
3.3

Ordenação

Bubble, insertion, selection: O(n²). Merge sort e quicksort: O(n log n). Veja cada algoritmo ordenando em tempo real e conte as comparações.

Disponível
3.4

Recursão

Uma função que chama a si mesma. Caso base, passo recursivo, memoização. Dividir e conquistar: a estratégia por trás do merge sort e do quicksort.

Disponível
3.5

Estruturas de dados

Pilha (LIFO), fila (FIFO) e hash table (lookup O(1)). Cada estrutura tem operações O(1) para o padrão de acesso que a justifica. Escolha a certa.

Disponível
3.6

Grafos e BFS/DFS

Grafos modelam redes, mapas e dependências. BFS visita nível por nível (caminho mínimo). DFS vai fundo antes de voltar (ciclos, topologia).

Disponível