Solution: Shortest Cycle in a Graph
Explore how to find the shortest cycle in an undirected graph using Breadth-First Search (BFS). This lesson teaches you to represent graphs with adjacency lists, detect cycles by revisiting nodes, and calculate cycle lengths. You will understand the BFS process layer-by-layer and learn to handle graph traversal with efficient time and space complexity.
We'll cover the following...
Statement
You are given a bidirectional graph with n vertices, labeled from 0 to n - 1. The graph is represented by a 2D integer array edges, where each element edges[i] = [ui, vi] represents an edge connecting vertex ui and vertex vi. Each vertex pair has at most one edge between them, and no vertex is connected to itself.
Your task is to find the length of the shortest cycle in the graph. A cycle is defined as a path that starts and ends at the same vertex, with each edge in the path appearing exactly once. If no cycle exists in the graph, return -1.
Constraints: