Class EdgeWeightedGraph

Object
  extended by EdgeWeightedGraph

public class EdgeWeightedGraph
extends Object

The EdgeWeightedGraph class represents an undirected graph of vertices named 0 through V-1, where each edge has a real-valued weight. It supports the following operations: add an edge to the graph, in the graph, iterate over all of the neighbors incident to a vertex. Parallel edges and self-loops are permitted.

For additional documentation, see Section 4.3 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.


Constructor Summary
EdgeWeightedGraph(EdgeWeightedGraph G)
          Copy constructor.
EdgeWeightedGraph(In in)
          Create a weighted graph from input stream.
EdgeWeightedGraph(int V)
          Create an empty edge-weighted graph with V vertices.
EdgeWeightedGraph(int V, int E)
          Create a random edge-weighted graph with V vertices and E edges.
 
Method Summary
 void addEdge(Edge e)
          Add the edge e to this graph.
 Iterable<Edge> adj(int v)
          Return the edges incident to vertex v as an Iterable.
 int E()
          Return the number of edges in this graph.
 Iterable<Edge> edges()
          Return all edges in this graph as an Iterable.
static void main(String[] args)
          Test client.
 String toString()
          Return a string representation of this graph.
 int V()
          Return the number of vertices in this graph.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EdgeWeightedGraph

public EdgeWeightedGraph(int V)
Create an empty edge-weighted graph with V vertices.


EdgeWeightedGraph

public EdgeWeightedGraph(int V,
                         int E)
Create a random edge-weighted graph with V vertices and E edges. The expected running time is proportional to V + E.


EdgeWeightedGraph

public EdgeWeightedGraph(In in)
Create a weighted graph from input stream.


EdgeWeightedGraph

public EdgeWeightedGraph(EdgeWeightedGraph G)
Copy constructor.

Method Detail

V

public int V()
Return the number of vertices in this graph.


E

public int E()
Return the number of edges in this graph.


addEdge

public void addEdge(Edge e)
Add the edge e to this graph.


adj

public Iterable<Edge> adj(int v)
Return the edges incident to vertex v as an Iterable. To iterate over the edges incident to vertex v, use foreach notation: for (Edge e : graph.adj(v)).


edges

public Iterable<Edge> edges()
Return all edges in this graph as an Iterable. To iterate over the edges, use foreach notation: for (Edge e : graph.edges()).


toString

public String toString()
Return a string representation of this graph.

Overrides:
toString in class Object

main

public static void main(String[] args)
Test client.