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.
|
getCycleBasis
protected 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 © 2019. All rights reserved.