Efficient Enumeration of All Chordless Cycles in Graphs (original) (raw)
In a finite undirected simple graph, a {\it chordless cycle} is an induced subgraph which is a cycle. We propose two algorithms to enumerate all chordless cycles of such a graph. Compared to other similar algorithms, the proposed algorithms have the advantage of finding each chordless cycle only once. To ensure this, we introduced the concepts of vertex labeling and initial valid vertex triplet. To guarantee that the expansion of a given chordless path will always lead to a chordless cycle, we use a breadth-first search in a subgraph obtained by the elimination of many of the vertices from the original graph. The resulting algorithm has time complexity mathcalO(n+m)\mathcal{O}(n + m)mathcalO(n+m) in the output size, where nnn is the number of vertices and mmm is the number of edges.