Problem
Given an undirected graph, which graph search method (BFS or DFS) would be most useful for finding a cycle in the graph? Describe, in detail, an algorithm for finding a cycle in any undirected graph, and explain why the algorithm is correct (Meaning that it is guaranteed to find a cycle if one exists and will not give a false answer).