26 7 conectividade caminhos e ciclos definição um

Info icon This preview shows pages 26–30. Sign up to view the full content.

View Full Document Right Arrow Icon
26
Image of page 26

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

View Full Document Right Arrow Icon
7 Conectividade, Caminhos e Ciclos Definição : Um grafo não dirigido é bi-conectado se existe pelo menos dois caminhos disjuntos em vértices ligando dois vértices quaisquer do grafo. Exemplos: Se vértices são computadores (ou processadores) e as arestas são ligações entre eles, um computador pode falhar e ainda sim os outros serão capazes de conversar entre si. Como caminhos disjuntos em vértices implica em caminhos disjuntos em arestas, uma ligação pode ser interrompida e ainda assim todos os computadores serão capazes de se comunicar entre si. Grafos bi-conectado possuem um alto grau de conectividade. Situação oposta acontece com árvores. Elas são conectadas mas a remoção de qualquer vértice que não seja folha (ou mesmo uma aresta) as desconecta. Então, se quisermos ligar vários computadores utilizando o menor número de ligações possível, mas de tal forma que todos possam conversar entre si, devemos usar uma árvore. 7.1 Ciclos Problema: Faça um algoritmo que retorna true se um grafo não dirigido G (V, E) possui um ciclo, false caso contrário. Algorithm HaCiclo (G (V, E), v): boolean { Faz uma busca em profundidade no grafo } Entrada: um grafo G e um vértice v de G begin marca v Seja S o conjunto de arestas (v, w) tal que w não foi marcado for each aresta (v, w) de S do if w não foi marcado then if HaCiclo (G, w) then retorne true; endif else { achou um ciclo - não é necessário continuar a busca em vértices adjacentes a v } return true; endif return false; 27
Image of page 27
end O algoritmo HaCiclo para grafos dirigidos, HaCicloDirig , faz uma busca em profundidade e retorna true (há ciclo) se há aresta do vértice corrente (v) para um outro vértice w que está na pilha construída pela busca em profundidade. O ciclo encontrado é formado pelo caminho de w até v e a aresta (v, w): raiz w v Algorithm HaCicloDirig( G(V, E), v, S) : boolean Entrada: um grafo G(V, E), um vértice v de G e uma pilha S contendo os vértices sendo visitados. Saída: retorna true se houver ciclo cujos vértices são alcançáveis a partir de v. begin marque v empilhe v na pilha S for each aresta (v, w) V do if w não foi marcado then if HaCicloDirig( G, w, S) then return true; endif else if w está na pilha S then return true; endif endif desempilhe v de S return false; end Este algoritmo só funcionará se o ciclo do grafo (se existir) é alcançável a partir do vértice v. Ao chamar este algoritmo, passa-se uma pilha vazia como parâmetro S. 28
Image of page 28

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

View Full Document Right Arrow Icon
Note que é claro que se os algoritmos retornam true há ciclo no grafo (embora nós não provamos isto). Também é verdade que, se há ciclo no grafo, os algoritmos retornam true , embora o raciocínio para chegar a esta conclusão não seja tão simples.
Image of page 29
Image of page 30
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern