javautils.graph
Class UndirectedGraph

java.lang.Object
  |
  +--javautils.graph.GraphDecorator
        |
        +--javautils.graph.UndirectedGraph
All Implemented Interfaces:
Graph

public final class UndirectedGraph
extends GraphDecorator
implements Graph

An undirected graph. Undirected graphs are created from unaugmented graphs, because the augmented information does not have much use in an undirected graph. Note that you can always augment an undirected graph afterwards.


Method Summary
 java.util.List edgesFrom(java.lang.Object node)
          List of all edges from the specified source node.
static UndirectedGraph from(Graph graph)
          An undirected version of the given graph.
 boolean isNode(java.lang.Object obj)
          True if and only if the object is a node of this graph.
 java.lang.Object sourceOf(java.lang.Object edge)
          The source node of the edge.
 java.lang.Object targetOf(java.lang.Object edge)
          The target node of the edge.
 java.lang.Object uninvertedOf(java.lang.Object edge)
          The underlying uninverted edge of the specified edge.
 
Methods inherited from class javautils.graph.GraphDecorator
graph, nodes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javautils.graph.adt.Graph
nodes
 

Method Detail

from

public static UndirectedGraph from(Graph graph)

An undirected version of the given graph. If the graph is already undirected, the same graph will be returned.


isNode

public boolean isNode(java.lang.Object obj)

True if and only if the object is a node of this graph.


uninvertedOf

public java.lang.Object uninvertedOf(java.lang.Object edge)

The underlying uninverted edge of the specified edge.


edgesFrom

public java.util.List edgesFrom(java.lang.Object node)
Description copied from interface: Graph

List of all edges from the specified source node.

Important: This method should have O(1) time complexity. This means that you should avoid constructing the list each time this method is called.

Note: The order of edges in the returned list may have an effect on the results of graph algorithms.

Specified by:
edgesFrom in interface Graph
Overrides:
edgesFrom in class GraphDecorator

targetOf

public java.lang.Object targetOf(java.lang.Object edge)
Description copied from interface: Graph

The target node of the edge.

Specified by:
targetOf in interface Graph
Overrides:
targetOf in class GraphDecorator

sourceOf

public java.lang.Object sourceOf(java.lang.Object edge)
Description copied from interface: Graph

The source node of the edge.

Specified by:
sourceOf in interface Graph
Overrides:
sourceOf in class GraphDecorator