Source: https://www.cs.kent.edu/~dragan/GraphAn/CycleBasis/p514-paton.pdf