类 AdjMatrixEdgeWeightedDigraph
- java.lang.Object
-
- edu.princeton.cs.algs4.AdjMatrixEdgeWeightedDigraph
-
public class AdjMatrixEdgeWeightedDigraph extends java.lang.Object
TheAdjMatrixEdgeWeightedDigraph
class represents a edge-weighted digraph of vertices named 0 through V - 1, where each directed edge is of typeDirectedEdge
and has a real-valued weight. It supports the following two primary operations: add a directed edge to the digraph and iterate over all of edges incident from a given vertex. It also provides methods for returning the number of vertices V and the number of edges E. Parallel edges are disallowed; self-loops are permitted.This implementation uses an adjacency-matrix representation. All operations take constant time (in the worst case) except iterating over the edges incident from a given vertex, which takes time proportional to V.
For additional documentation, see Section 4.4 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
-
-
构造器概要
构造器 构造器 说明 AdjMatrixEdgeWeightedDigraph(int V)
Initializes an empty edge-weighted digraph withV
vertices and 0 edges.AdjMatrixEdgeWeightedDigraph(int V, int E)
Initializes a random edge-weighted digraph withV
vertices and E edges.
-
方法概要
修饰符和类型 方法 说明 void
addEdge(DirectedEdge e)
Adds the directed edgee
to the edge-weighted digraph (if there is not already an edge with the same endpoints).java.lang.Iterable<DirectedEdge>
adj(int v)
Returns the directed edges incident from vertexv
.int
E()
Returns the number of edges in the edge-weighted digraph.static void
main(java.lang.String[] args)
Unit tests theAdjMatrixEdgeWeightedDigraph
data type.java.lang.String
toString()
Returns a string representation of the edge-weighted digraph.int
V()
Returns the number of vertices in the edge-weighted digraph.
-
-
-
构造器详细资料
-
AdjMatrixEdgeWeightedDigraph
public AdjMatrixEdgeWeightedDigraph(int V)
Initializes an empty edge-weighted digraph withV
vertices and 0 edges.- 参数:
V
- the number of vertices- 抛出:
java.lang.IllegalArgumentException
- ifV < 0
-
AdjMatrixEdgeWeightedDigraph
public AdjMatrixEdgeWeightedDigraph(int V, int E)
Initializes a random edge-weighted digraph withV
vertices and E edges.- 参数:
V
- the number of verticesE
- the number of edges- 抛出:
java.lang.IllegalArgumentException
- ifV < 0
java.lang.IllegalArgumentException
- ifE < 0
-
-
方法详细资料
-
V
public int V()
Returns the number of vertices in the edge-weighted digraph.- 返回:
- the number of vertices in the edge-weighted digraph
-
E
public int E()
Returns the number of edges in the edge-weighted digraph.- 返回:
- the number of edges in the edge-weighted digraph
-
addEdge
public void addEdge(DirectedEdge e)
Adds the directed edgee
to the edge-weighted digraph (if there is not already an edge with the same endpoints).- 参数:
e
- the edge
-
adj
public java.lang.Iterable<DirectedEdge> adj(int v)
Returns the directed edges incident from vertexv
.- 参数:
v
- the vertex- 返回:
- the directed edges incident from vertex
v
as an Iterable - 抛出:
java.lang.IllegalArgumentException
- unless0 <= v < V
-
toString
public java.lang.String toString()
Returns a string representation of the edge-weighted digraph. This method takes time proportional to V2.- 覆盖:
toString
在类中java.lang.Object
- 返回:
- the number of vertices V, followed by the number of edges E, followed by the V adjacency lists of edges
-
main
public static void main(java.lang.String[] args)
Unit tests theAdjMatrixEdgeWeightedDigraph
data type.- 参数:
args
- the command-line arguments
-
-