Question: Problem 3: (25 points) Give an algorithm to detect whether a given undirected graph contains a cycle. If the graph contains a cycle, then your

Problem 3: (25 points) Give an algorithm to detect whether a given undirected graph contains a cycle. If the graph contains a cycle, then your algorithm should output one cycle (do not output all cycles in the graph, just any one of them). Justify the running time bound of your algorithm. You will receive 25 points if the running time of your algorithm is 0(m + n) for a graph with n nodes and m edges. You will receive 18 points if your solution is correct, and the running time of your algorithm is polynomial in n and m. Problem 4: (25 points) Given a connected graph G with n vertices. We say an edge of G is a bridge if the graph becomes a disconnected graph after removing the edge. Give an algorithm that finds all the bridges. Justify the running time bound of your algorithm. You will receive 25 points if the running time of your algorithm is O(m + n) for a graph with n nodes and m edges. You will receive 18 points if your solution is correct, and the running time of your algorithm is polynomial in n and m. (Hint: Use DFS.) Problem 3: (25 points) Give an algorithm to detect whether a given undirected graph contains a cycle. If the graph contains a cycle, then your algorithm should output one cycle (do not output all cycles in the graph, just any one of them). Justify the running time bound of your algorithm. You will receive 25 points if the running time of your algorithm is 0(m + n) for a graph with n nodes and m edges. You will receive 18 points if your solution is correct, and the running time of your algorithm is polynomial in n and m. Problem 4: (25 points) Given a connected graph G with n vertices. We say an edge of G is a bridge if the graph becomes a disconnected graph after removing the edge. Give an algorithm that finds all the bridges. Justify the running time bound of your algorithm. You will receive 25 points if the running time of your algorithm is O(m + n) for a graph with n nodes and m edges. You will receive 18 points if your solution is correct, and the running time of your algorithm is polynomial in n and m. (Hint: Use DFS.)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
