类 AcyclicSP
- java.lang.Object
- 
- edu.princeton.cs.algs4.AcyclicSP
 
- 
 public class AcyclicSP extends java.lang.ObjectTheAcyclicSPclass represents a data type for solving the single-source shortest paths problem in edge-weighted directed acyclic graphs (DAGs). The edge weights can be positive, negative, or zero.This implementation uses a topological-sort based algorithm. 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 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. 
- 
- 
构造器概要构造器 构造器 说明 AcyclicSP(EdgeWeightedDigraph G, int s)Computes a shortest paths tree fromsto every other vertex in the directed acyclic graphG.
 - 
方法概要修饰符和类型 方法 说明 doubledistTo(int v)Returns the length of a shortest path from the source vertexsto vertexv.booleanhasPathTo(int v)Is there a path from the source vertexsto vertexv?static voidmain(java.lang.String[] args)Unit tests theAcyclicSPdata type.java.lang.Iterable<DirectedEdge>pathTo(int v)Returns a shortest path from the source vertexsto vertexv.
 
- 
- 
- 
构造器详细资料- 
AcyclicSPpublic AcyclicSP(EdgeWeightedDigraph G, int s) Computes a shortest paths tree fromsto every other vertex in the directed acyclic graphG.- 参数:
- G- the acyclic digraph
- s- the source vertex
- 抛出:
- java.lang.IllegalArgumentException- if the digraph is not acyclic
- java.lang.IllegalArgumentException- unless- 0 <= s < V
 
 
- 
 - 
方法详细资料- 
distTopublic 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- unless- 0 <= v < V
 
 - 
hasPathTopublic boolean hasPathTo(int v) Is there a path from the source vertexsto vertexv?- 参数:
- v- the destination vertex
- 返回:
- trueif there is a path from the source vertex- sto vertex- v, and- falseotherwise
- 抛出:
- java.lang.IllegalArgumentException- unless- 0 <= v < V
 
 - 
pathTopublic 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- unless- 0 <= v < V
 
 - 
mainpublic static void main(java.lang.String[] args) Unit tests theAcyclicSPdata type.- 参数:
- args- the command-line arguments
 
 
- 
 
-