Escolar Documentos
Profissional Documentos
Cultura Documentos
Exercícios Grafos
Exercícios Grafos
Eduardo Laber
Exercício de Implementação
2
Cap 3-Tardos
Exercício 2
• Modifique o pseudo-código da busca em
profundidade da seguinte forma.
• Ao visitar um vértice v a partir de u
– Se v não foi visitado faça
• upai (v)
– Se v já foi visitado
• Se v<> pai(u)
– Ciclo existe (uv+ caminho de u a v na árvore)
Cap 3-Tardos
Exercicio 2: Ciclo em grafo direcionado
Problema
23
Exercicio Resolvido
Solução
Seja H um grafo representando as configurações possíveis (posições
dos robos) do problema. Cada nó de H corresponde a um par ordenado
de vértices de V cuja distância menor ou igual a r.
Um par de nós u e v de H tem uma aresta se e somente em um passo é
possível alcançar a configuração v a partir da configuração u em um
único passo, ou seja, se u=(u1,u2) e v=(v1,v2) então uma das alternativas
é válida
(i) u1=v1 e (u2,v2) pertence a E
(i) u2=v2 e (u1,v1) pertence a E
24
Dasgupta, Cap 4 -Exercício 11
• Execute Dijkstra a partir de cada vértice v.
O(|V|3)
• Guarde em uma tabela Dist a menor
distância Dist(u,v) entre u e v para cada
para u,v
• Procure na tabela Dist o par de vértices
u,v que minimiza Dist(u,v)+Dist(v,u). Se o
mínimo é infinito então o grafo é acíclico
– O(|V|3), já que temos que considerar todos os
pares
Dasgupta, Cap 4 -Exercício 12
• Seja e=(u,v)
• Remova a aresta e de G
– O(|V|)
• Execute Dijkstra para encontrar o caminho
P de custo mínimo entre v e u em G-e.
– O(|V|2), utilizando vetor como fila de
prioridades
• O ciclo é dado pela união de P com e.
Dasgupta, Cap 4 -Exercício 14
1. Execute Dijkstra para encontrar o
caminho de custo mínimo entre v0 e os
demais vertices em G
2. Execute Dijkstra para encontrar o
caminho de custo mínimo entre v0 e os
demais vertices em GR (grafo reverso)
3. O caminho mínimo entre u e w passando
por vo é o caminho mínimo entre u e v0 e
vo e w
Dasgupta, Cap 4 -Exercício 17.a
• Utilize um vetor de nW posições como fila
de prioridade.
• A posição i do vetor deve guardar os nós v
tal que o custo π(v) do menor caminho da
origem s até v é i.
Dasgupta, Cap 4 -Exercício 17.a
• Portanto, encontrar o custo total de
encontrar o vértice com menor valor π()
requer O(nW) operações
– Se o ultimo vértice colocado em S foi u então
a busca pelo menor valor de π() deve ser
feita a partir de π(u).
• As atualizações podem ser feitas em O(E)
ESTUDEM