类 BreadthFirstPaths
- java.lang.Object
-
- edu.princeton.cs.algs4.BreadthFirstPaths
-
public class BreadthFirstPaths extends java.lang.ObjectTheBreadthFirstPathsclass represents a data type for finding shortest paths (number of edges) from a source vertex s (or a set of source vertices) to every other vertex in an undirected graph.This implementation uses breadth-first search. The constructor takes time proportional to V + E, where V is the number of vertices and E is the number of edges. Each call to
distTo(int)andhasPathTo(int)takes constant time; each call topathTo(int)takes time proportional to the length of the path. It uses extra space (not including the graph) proportional to V.For additional documentation, see Section 4.1 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
-
-
构造器概要
构造器 构造器 说明 BreadthFirstPaths(Graph G, int s)Computes the shortest path between the source vertexsand every other vertex in the graphG.BreadthFirstPaths(Graph G, java.lang.Iterable<java.lang.Integer> sources)Computes the shortest path between any one of the source vertices insourcesand every other vertex in graphG.
-
方法概要
修饰符和类型 方法 说明 intdistTo(int v)Returns the number of edges in a shortest path between the source vertexs(or sources) and vertexv?booleanhasPathTo(int v)Is there a path between the source vertexs(or sources) and vertexv?static voidmain(java.lang.String[] args)Unit tests theBreadthFirstPathsdata type.java.lang.Iterable<java.lang.Integer>pathTo(int v)Returns a shortest path between the source vertexs(or sources) andv, ornullif no such path.
-
-
-
构造器详细资料
-
BreadthFirstPaths
public BreadthFirstPaths(Graph G, int s)
Computes the shortest path between the source vertexsand every other vertex in the graphG.- 参数:
G- the graphs- the source vertex- 抛出:
java.lang.IllegalArgumentException- unless0 <= s < V
-
BreadthFirstPaths
public BreadthFirstPaths(Graph G, java.lang.Iterable<java.lang.Integer> sources)
Computes the shortest path between any one of the source vertices insourcesand every other vertex in graphG.- 参数:
G- the graphsources- the source vertices- 抛出:
java.lang.IllegalArgumentException- unless0 <= s < Vfor each vertexsinsources
-
-
方法详细资料
-
hasPathTo
public boolean hasPathTo(int v)
Is there a path between the source vertexs(or sources) and vertexv?- 参数:
v- the vertex- 返回:
trueif there is a path, andfalseotherwise- 抛出:
java.lang.IllegalArgumentException- unless0 <= v < V
-
distTo
public int distTo(int v)
Returns the number of edges in a shortest path between the source vertexs(or sources) and vertexv?- 参数:
v- the vertex- 返回:
- the number of edges in a shortest path
- 抛出:
java.lang.IllegalArgumentException- unless0 <= v < V
-
pathTo
public java.lang.Iterable<java.lang.Integer> pathTo(int v)
Returns a shortest path between the source vertexs(or sources) andv, ornullif no such path.- 参数:
v- the vertex- 返回:
- the sequence of vertices on a shortest path, as an Iterable
- 抛出:
java.lang.IllegalArgumentException- unless0 <= v < V
-
main
public static void main(java.lang.String[] args)
Unit tests theBreadthFirstPathsdata type.- 参数:
args- the command-line arguments
-
-