{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Assignment 03 - DFS cycle detection (Solution)

Assignment 03 - DFS cycle detection (Solution) - The Hong...

Info icon This preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
The Hong Kong University of Science & Technology COMP 271: Design and Analysis of Algorithms Fall 2007 Solution to Assignment 3 Question 1: Design an algorithm to determine whether an undirected graph G = ( E,V ) contains a cycle. The running time of your algorithm should be O ( V ) ( and hence should not depend on | E | ). Prove the correctness of your algorithm. Solution: Idea of the algorithm (4 points) We claim that G has a cycle if and only if any DFS of G produces a back edge. If there is a back edge ( u,v ), then clearly there is a cycle containing ( u,v ) in the graph. And if there is no back edge, then by the theorem that an edge in an undirected graph is either a tree edge or a back edge, there are only tree edges, implying that the graph is a forest, and hence is acyclic. We exploit DFS algorithm to judge the existence of back edges. The algo- rithm visit vertices on G in the order of depth first. When visiting a vertex u , the algorithm check, for each adjacent vertex v of u , whether the edge ( u,v ) is a back edge. The judgement is positive if and only if: (1) the edge goes to a gray vertex v and (2) it does not go to the predecessor of this vertex, namely
Image of page 1

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

View Full Document Right Arrow Icon
Image of page 2
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