V
- the node type of the graphpublic class DFSPathFinder<V> extends java.lang.Object implements IGraphPathFinder<V>
IGraphPathFinder
.
TODO use ITC to filter nodes that must be traversed, instead of checksConstructor and Description |
---|
DFSPathFinder(IGraphDataSource<V> graph,
ITcDataSource<V> itc) |
Modifier and Type | Method and Description |
---|---|
java.lang.Iterable<java.util.Deque<V>> |
getAllPaths(V sourceNode,
V targetNode)
Returns the collection of paths from the source node to the target node (if such exists).
|
java.lang.Iterable<java.util.Deque<V>> |
getAllPathsToTargets(V sourceNode,
java.util.Set<V> targetNodes)
Returns the collection of paths from the source node to any of the target nodes (if such exists).
|
java.util.Deque<V> |
getPath(V sourceNode,
V targetNode)
Returns an arbitrary path from the source node to the target node (if such exists).
|
java.lang.Iterable<java.util.Deque<V>> |
getShortestPaths(V sourceNode,
V targetNode)
Returns the collection of shortest paths from the source node to the target node (if such exists).
|
java.lang.String |
printPaths(java.util.List<java.util.Deque<V>> paths) |
public DFSPathFinder(IGraphDataSource<V> graph, ITcDataSource<V> itc)
public java.lang.Iterable<java.util.Deque<V>> getAllPaths(V sourceNode, V targetNode)
IGraphPathFinder
getAllPaths
in interface IGraphPathFinder<V>
sourceNode
- the source node of the pathtargetNode
- the target node of the pathpublic java.lang.Iterable<java.util.Deque<V>> getAllPathsToTargets(V sourceNode, java.util.Set<V> targetNodes)
IGraphPathFinder
getAllPathsToTargets
in interface IGraphPathFinder<V>
sourceNode
- the source node of the pathtargetNodes
- the set of target nodes of the pathspublic java.lang.String printPaths(java.util.List<java.util.Deque<V>> paths)
public java.util.Deque<V> getPath(V sourceNode, V targetNode)
IGraphPathFinder
getPath
in interface IGraphPathFinder<V>
sourceNode
- the source node of the pathtargetNode
- the target node of the pathpublic java.lang.Iterable<java.util.Deque<V>> getShortestPaths(V sourceNode, V targetNode)
IGraphPathFinder
getShortestPaths
in interface IGraphPathFinder<V>
sourceNode
- the source node of the pathtargetNode
- the target node of the path