类 DijkstraSP
- java.lang.Object
 - 
- edu.princeton.cs.algs4.DijkstraSP
 
 
- 
public class DijkstraSP extends java.lang.ObjectTheDijkstraSPclass represents a data type for solving the single-source shortest paths problem in edge-weighted digraphs where the edge weights are nonnegative.This implementation uses Dijkstra's algorithm with a binary heap. The constructor takes time proportional to E log V, 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 number of edges in the shortest path returned.For additional documentation, see Section 4.4 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
 
- 
- 
构造器概要
构造器 构造器 说明 DijkstraSP(EdgeWeightedDigraph G, int s)Computes a shortest-paths tree from the source vertexsto every other vertex in the edge-weighted digraphG. 
- 
方法概要
修饰符和类型 方法 说明 doubledistTo(int v)Returns the length of a shortest path from the source vertexsto vertexv.booleanhasPathTo(int v)Returns true if there is a path from the source vertexsto vertexv.static voidmain(java.lang.String[] args)Unit tests theDijkstraSPdata type.java.lang.Iterable<DirectedEdge>pathTo(int v)Returns a shortest path from the source vertexsto vertexv. 
 - 
 
- 
- 
构造器详细资料
- 
DijkstraSP
public DijkstraSP(EdgeWeightedDigraph G, int s)
Computes a shortest-paths tree from the source vertexsto every other vertex in the edge-weighted digraphG.- 参数:
 G- the edge-weighted digraphs- the source vertex- 抛出:
 java.lang.IllegalArgumentException- if an edge weight is negativejava.lang.IllegalArgumentException- unless0 <= s < V
 
 - 
 
- 
方法详细资料
- 
distTo
public double distTo(int v)
Returns the length of a shortest path from the source vertexsto vertexv.- 参数:
 v- the destination vertex- 返回:
 - the length of a shortest path from the source vertex 
sto vertexv;Double.POSITIVE_INFINITYif no such path - 抛出:
 java.lang.IllegalArgumentException- unless0 <= v < V
 
- 
hasPathTo
public boolean hasPathTo(int v)
Returns true if there is a path from the source vertexsto vertexv.- 参数:
 v- the destination vertex- 返回:
 trueif there is a path from the source vertexsto vertexv;falseotherwise- 抛出:
 java.lang.IllegalArgumentException- unless0 <= v < V
 
- 
pathTo
public java.lang.Iterable<DirectedEdge> pathTo(int v)
Returns a shortest path from the source vertexsto vertexv.- 参数:
 v- the destination vertex- 返回:
 - a shortest path from the source vertex 
sto vertexvas an iterable of edges, andnullif no such path - 抛出:
 java.lang.IllegalArgumentException- unless0 <= v < V
 
- 
main
public static void main(java.lang.String[] args)
Unit tests theDijkstraSPdata type.- 参数:
 args- the command-line arguments
 
 - 
 
 -