{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Cada grafo g i é conectado e o grau de cada vértice

Info iconThis preview shows pages 31–34. Sign up to view the full content.

View Full Document Right Arrow Icon
Cada grafo G’ i é conectado e o grau de cada vértice é par (pois o grau de cada vértice de G’ é par). Sejam P 1 , P 2 , … P k os circuitos Eurelianos encontrados pela aplicação recursiva deste algoritmo a G’ 1 , … G’ k . Para encontrar um Caminho Eureliano para G, começamos a percorrer o circuito P a partir de um vértice qualquer. Quando encontramos um vértice v que pertence a um caminho P i , percorremos P i , retornamos a v e continuamos a percorrer P novamente. Deste modo, quanto chegarmos ao vértice inicial de P, teremos percorrido P, P 1 , P 2 , … P k . Isto é, teremos um circuito Eureliano. Veja a ilustração abaixo. P 1 P 2 P 4 P P 3 O desenho acima mostra o circuito P (grande) e os circuitos P 1 , P 2 , P 3 e P 4 . obtidos após a remoção de P do grafo. O desenho abaixo mostra como todos estes circuitos podem ser conectados para formar um caminho Eureliano para o grafo. 31
Background image of page 31

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
P 1 P 2 P 4 P P 3 início Definição: Um circuito Hamiltoniano em um grafo conectado G é um circuito que inclui cada vértice de G exatamente uma vez. Encontrar um circuito Hamiltoniano (CH) é claramente mais difícil que encontrar um caminho Eureliano (CE), pois cada vez que atingimos (num percurso) um vértice v a partir de uma aresta "e", nunca mais podemos usar v e quaisquer de suas arestas. Em um CE, não poderíamos usar "e", mas poderíamos usar v e suas outras arestas. CH CE O problema “Encontre um CH para um grafo G” é NP-completo (Veja Seção 16) e portanto nenhum algoritmo será estudado. O Problema do Caixeiro Viajante (The Traveling Salesman Problem) Um vendedor quer visitar um grupo de cidades começando e terminando em uma mesma cidade de tal forma que o custo da viagem (distância percorrida) seja o menor possível e que cada cidade seja visitada apenas uma vez. Ou seja, o problema é encontrar um circuito Hamiltoniano de custo mínimo. Naturalmente, este problema é NP- completo. 7.4 Exercícios 50 Faça um grafo que contenha um circuito que não é ciclo. 51 No Unix é possível associar um outro nome a um arquivo ou diretório já existente através do utilitário ln : 32
Background image of page 32
ln NovoNome Arq Após a execução do comando acima, NovoNome será um aliás para Arq . ln pode criar situações perigosas, como fazer uma associação recursiva: $cd /A/B $ln C /A $ é o prompt do Unix. Neste caso estamos colocando o diretório A , com nome C , dentro do próprio A . Crie um novo comando safeln , em linguagem de alto nível, que usa ln e não permite este tipo de situação. 52 Faça um algoritmo que retorna true se um programa pode ser recursivo em execução. Assuma que a entrada do algoritmo é dada em forma de um grafo usando uma representação de sua escolha.
Background image of page 33

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 34
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}