Aula 16
Introdução aos Grafos: Representação e Algoritmos de Busca
Estruturas de Dados Avançadas
Objetivos Didáticos
- Conceito de vértices, arestas direcionadas e ponderadas. Representação computacional: Matriz de Adjacência vs Lista de Adjacência. Busca em Largura (BFS) e Busca em Profundidade (DFS).
- Eficiência assintótica de tempo e espaço
- Implementação em C com integridade de memória
Conceitos Fundamentais
- Vértices e Arestas
- Matriz vs Lista de Adjacência
- Busca em Largura (BFS)
- Busca em Profundidade (DFS)
- Detecção de Ciclos
Estrutura de Implementação
// Busca em Profundidade (DFS) em Grafo com Lista de Adjacência
void dfs_util(int v, bool visitados[], const ListaAdj* grafo) {
visitados[v] = true;
printf("%d ", v);
for (NoVizinho* viz = grafo->adj[v]; viz != NULL; viz = viz->prox) {
Próximos Passos
Acesse os Exercícios com Gabarito e o Projeto Prático.