V - vertex typeE - edge typepublic abstract class AbstractGraphPathSearch<V extends Vertex,E extends Edge<V>> extends java.lang.Object implements GraphPathSearch<V,E>
| Modifier and Type | Class and Description |
|---|---|
protected class |
AbstractGraphPathSearch.DefaultResult
Default path search result that uses the DefaultPath to convey paths
in a graph.
|
GraphPathSearch.Result<V extends Vertex,E extends Edge<V>>ALL_PATHS| Constructor and Description |
|---|
AbstractGraphPathSearch() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkArguments(Graph<V,E> graph,
V src,
V dst)
Checks the specified path search arguments for validity.
|
protected abstract GraphPathSearch.Result<V,E> |
internalSearch(Graph<V,E> graph,
V src,
V dst,
EdgeWeigher<V,E> weigher,
int maxPaths) |
GraphPathSearch.Result<V,E> |
search(Graph<V,E> graph,
V src,
V dst,
EdgeWeigher<V,E> weigher,
int maxPaths)
Searches the specified graph for paths between vertices.
|
protected void checkArguments(Graph<V,E> graph, V src, V dst)
graph - graph; must not be nullsrc - source vertex; must not be null and belong to graphdst - optional target vertex; must belong to graphpublic GraphPathSearch.Result<V,E> search(Graph<V,E> graph, V src, V dst, EdgeWeigher<V,E> weigher, int maxPaths)
GraphPathSearchsearch in interface GraphPathSearch<V extends Vertex,E extends Edge<V>>graph - graph to be searchedsrc - optional source vertexdst - optional destination vertex; if null paths to all vertex
destinations will be searchedweigher - optional edge-weigher; if null, DefaultEdgeWeigher
will be used (assigns equal weights to all links)maxPaths - limit on number of paths; GraphPathSearch.ALL_PATHS if no limit