V - the vertex typeE - the edge typepublic class StackBFSFundamentalCycleBasis<V,E> extends AbstractFundamentalCycleBasis<V,E>
The algorithm constructs the same fundamental cycle basis as the algorithm in the following paper: K. Paton, An algorithm for finding a fundamental set of cycles for an undirected linear graph, Comm. ACM 12 (1969), pp. 514-518.
The total length of the fundamental-cycle set can be as large as $O(n^3)$ where $n$ is the number of vertices of the graph.
CycleBasisAlgorithm.CycleBasis<V,E>, CycleBasisAlgorithm.CycleBasisImpl<V,E>graph| Constructor and Description |
|---|
StackBFSFundamentalCycleBasis(Graph<V,E> graph)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
protected Map<V,E> |
computeSpanningForest()
Compute a spanning forest of the graph using a stack (LIFO) based BFS implementation.
|
getCycleBasisprotected Map<V,E> computeSpanningForest()
The representation assumes that the map contains the predecessor edge of each vertex in the forest. The predecessor edge is the forest edge that was used to discover the vertex. If no such edge was used (the vertex is a leaf in the forest) then the corresponding entry must be null.
computeSpanningForest in class AbstractFundamentalCycleBasis<V,E>Copyright © 2018. All rights reserved.