Package com.ibm.wala.util.graph.traverse
Class BFSPathFinder<T>
- java.lang.Object
-
- com.ibm.wala.util.graph.traverse.BFSPathFinder<T>
-
public class BFSPathFinder<T> extends Object
This class searches breadth-first for node that matches some criteria. If found, it reports a path to the first node found. This class follows the outNodes of the graph nodes to define the graph, but this behavior can be changed by overriding the getConnected method. TODO: if finding many paths, use a dynamic programming algorithm instead of calling this repeatedly.
-
-
Constructor Summary
Constructors Constructor Description BFSPathFinder(Graph<T> G, Iterator<T> nodes, Predicate<T> f)
Construct a breadth-first enumerator across the (possibly improper) subset of nodes reachable from the nodes in the given enumeration.BFSPathFinder(Graph<T> G, Iterator<T> sources, T target)
Construct a breadth-first enumerator starting with any of a set of nodes in a directed graph.BFSPathFinder(Graph<T> G, T N, Predicate<T> f)
Construct a breadth-first enumerator starting with a particular node in a directed graph.BFSPathFinder(Graph<T> G, T src, Iterator<T> targets)
Construct a breadth-first enumerator starting with a particular node in a directed graph.BFSPathFinder(Graph<T> G, T src, T target)
Construct a breadth-first enumerator starting with a particular node in a directed graph.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<T>
find()
protected Iterator<? extends T>
getConnected(T n)
get the out edges of a given node
-
-
-
Constructor Detail
-
BFSPathFinder
public BFSPathFinder(Graph<T> G, T N, Predicate<T> f)
Construct a breadth-first enumerator starting with a particular node in a directed graph.- Parameters:
G
- the graph whose nodes to enumerate
-
BFSPathFinder
public BFSPathFinder(Graph<T> G, T src, T target) throws IllegalArgumentException
Construct a breadth-first enumerator starting with a particular node in a directed graph.- Parameters:
G
- the graph whose nodes to enumerate- Throws:
IllegalArgumentException
- if G is null
-
BFSPathFinder
public BFSPathFinder(Graph<T> G, T src, Iterator<T> targets)
Construct a breadth-first enumerator starting with a particular node in a directed graph.- Parameters:
G
- the graph whose nodes to enumerate
-
BFSPathFinder
public BFSPathFinder(Graph<T> G, Iterator<T> sources, T target)
Construct a breadth-first enumerator starting with any of a set of nodes in a directed graph.- Parameters:
G
- the graph whose nodes to enumerate
-
-