Grafos
Letícia Rodrigues Bueno
UFABC
Problema 1: Ordenação Topológica
• grafos direcionados acíclicos: usados para indicar
precedências entre eventos;
Problema 1: Ordenação Topológica
• grafos direcionados acíclicos: usados para indicar
precedências entre eventos;
• ordenação topológica: ordenação linear tal que arestas
orientadas sigam da esquerda para direita (pode haver várias);
Problema 1: Ordenação Topológica
• grafos direcionados acíclicos: usados para indicar
precedências entre eventos;
• ordenação topológica: ordenação linear tal que arestas
orientadas sigam da esquerda para direita (pode haver várias);
Socks Shoes Watch
Underwear
Pants
Suit
Belt Tie
Shirt
Problema 1: Ordenação Topológica
• grafos direcionados acíclicos: usados para indicar
precedências entre eventos;
• ordenação topológica: ordenação linear tal que arestas
orientadas sigam da esquerda para direita (pode haver várias);
Socks Shoes Watch
Underwear
Pants
Suit
Belt Tie
Shirt
Socks
Underwear
Pants
Shoes
Watch
Shirt
Belt
Tie
Suit
Busca em Profundidade (DFS - Depth-First Search)
Como encontrar uma ordenação topológica em um grafo direcionado acíclico?
Busca em Profundidade (DFS - Depth-First Search)
Como encontrar uma ordenação topológica em um grafo direcionado acíclico? Usaremos a busca em profundidade!
Busca em Profundidade (DFS - Depth-First Search)
a b g f c d e
Busca em Profundidade (DFS - Depth-First Search)
a b g f c d e
1
a
Busca em Profundidade (DFS - Depth-First Search)
a b g f c d e
1 2
b a
Busca em Profundidade (DFS - Depth-First Search)
a b g f c d e
1 2 3
c b a
Busca em Profundidade (DFS - Depth-First Search)
a b g f c d e
1 2 3 4
d c b a
Busca em Profundidade (DFS - Depth-First Search)
a b g f c d e
1 2 3 4 5
e d c b a
Busca em Profundidade (DFS - Depth-First Search)
a b g f c d e
1 2 3 4 5
e d c b a
Busca em Profundidade (DFS - Depth-First Search)
a b g
6
1 2 3 4 5
c