Package org.openscience.cdk.graph
Class EssentialCycles
java.lang.Object
org.openscience.cdk.graph.EssentialCycles
Determine the uniquely defined essential cycles of a graph. A cycle is
essential if it a member of all minimum cycle bases. If a graph has a single
minimum cycle basis (MCB) then all of its cycles are essential. Unlikely the
RelevantCycles
the number of essential cycles is always polynomial
however may not be able generate the cycle space of a graph.- Author:
- John May
- See Also:
- Source code:
- main
- Belongs to CDK module:
- core
- Keywords:
- essential rings, essential cycles, graph, cycles, rings
-
Constructor Summary
ConstructorsConstructorDescriptionEssentialCycles
(int[][] graph) Determine the essential cycles given a graph. -
Method Summary
-
Constructor Details
-
EssentialCycles
public EssentialCycles(int[][] graph) Determine the essential cycles given a graph. Adjacency list representation. For maximum performance the graph should be preprocessed and run on separate biconnected components or fused cycles (see.RingSearch
.- Parameters:
graph
- a molecule graph- See Also:
-
-
Method Details
-
paths
public int[][] paths()The paths for each essential cycle.- Returns:
- array of vertex paths
-
size
public int size()Number of essential cycles.- Returns:
- number of cycles
-