Aula 19 - Algoritmos de Menor Caminho em Grafos: Dijkstra e Fila de Prioridade 🧱
Estruturas de Dados e Algoritmos
Agenda da Sessão 📅
Fundamentação Teórica & Problema
Invariância da Estrutura & Complexidade Big-O
Alocação Dinâmica na Heap & Ponteiros
Implementação Prática em Linguagem C
Análise de Casos de Borda & Debug
1. Visão Geral & Importância 🎯
Como organizar dados em memória de forma eficiente?
Diferença de performance entre \(O(1)\), \(O(\log n)\) e \(O(n)\).
Gestão de memória rigorosa: alocação e desalocação consciente.
2. Princípios Algorítmicos 🧠
Algoritmo de Dijkstra: Diretriz central.
Relaxamento de Arestas: Representação em memória.
Min-Heap Optimization: Operação assintótica.
3. Código Exemplo em C 💻
// Relaxamento de aresta no Algoritmo de Dijkstravoidrelaxar(intu,intv,intpeso,intdist[],intanterior[],MinHeap*pq){if(dist[v]>dist[u]+peso){dist[v]=dist[u]+peso;anterior[v]=u;min_heap_diminuir
4. Atividades da Aula 🚀
Ler o conteúdo teórico completo da Aula 19.
Resolver o Quiz de 10 Questões Interativas.
Praticar com os Exercícios e conferir o Gabarito Explicado.
Desenvolver o Projeto de TAD sem vazamentos de memória.