net.walend.digraph
Class LMCEDigraph

java.lang.Object
  |
  +--net.walend.digraph.AbstractMatrixCEDigraph
        |
        +--net.walend.digraph.AbstractLMCEDigraph
              |
              +--net.walend.digraph.LMCEDigraph
All Implemented Interfaces:
CEDigraph, Digraph, HasState, net.walend.enum.Immutable, IndexedCEDigraph, IndexedDigraph, java.io.Serializable

public final class LMCEDigraph
extends AbstractLMCEDigraph
implements net.walend.enum.Immutable, java.io.Serializable

This class implements the CEDigraph interface using a Matrix and an array to speed up some indexed operations.

Author:
David Walend dfw1@cornell.edu
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class net.walend.digraph.AbstractLMCEDigraph
AbstractLMCEDigraph.LMEdgeIterator
 
Nested classes inherited from class net.walend.digraph.AbstractMatrixCEDigraph
AbstractMatrixCEDigraph.MatrixEdgeIterator, AbstractMatrixCEDigraph.NodeIterator
 
Field Summary
 
Fields inherited from class net.walend.digraph.AbstractLMCEDigraph
 
Fields inherited from class net.walend.digraph.AbstractMatrixCEDigraph
 
Fields inherited from interface net.walend.digraph.CEDigraph
EMPTY
 
Constructor Summary
LMCEDigraph(CEDigraph digraph)
           
LMCEDigraph(GEDigraph digraph, java.lang.Object edge)
           
LMCEDigraph(UEDigraph digraph)
           
 
Method Summary
 EdgeIterator edgeIterator()
           
 java.util.Iterator nodeIterator()
          Implementations should explicitly state how they interpret nodeIterator()'s remove method.
 
Methods inherited from class net.walend.digraph.AbstractLMCEDigraph
addEdge, clearEdges, countInboundEdges, getFromIndices, getInboundEdges, growMatrix, indexedEdgeIterator, removeEdge, removeNode
 
Methods inherited from class net.walend.digraph.AbstractMatrixCEDigraph
addEdge, addNode, addNodes, clear, containsCEDigraph, containsEdge, containsEdge, containsEdge, containsEdge, containsNode, containsNode, containsNodes, countInboundEdges, countOutboundEdges, countOutboundEdges, edgeCount, edgeNodeIterator, getEdge, getEdge, getEdges, getFromNodes, getFromNodes, getInboundEdges, getNode, getNodeIndex, getNodes, getOutboundEdges, getOutboundEdges, getPrincipleInterface, getToIndices, getToNodes, getToNodes, indexedEdgeNodeIterator, indexedNodeIterator, insureCapacity, intersectWithCEDigraph, isEdgeFree, isEmpty, nodeCapacity, nodeCount, nodeIndices, removeCEDigraph, removeEdge, removeNode, removeNodes, retainNodes, sameCEDigraphAs, sameStateAs, setNode, toString, unionCEDigraph
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LMCEDigraph

public LMCEDigraph(CEDigraph digraph)

LMCEDigraph

public LMCEDigraph(UEDigraph digraph)

LMCEDigraph

public LMCEDigraph(GEDigraph digraph,
                   java.lang.Object edge)
Method Detail

edgeIterator

public EdgeIterator edgeIterator()
Specified by:
edgeIterator in interface CEDigraph
Overrides:
edgeIterator in class AbstractLMCEDigraph

nodeIterator

public java.util.Iterator nodeIterator()
Description copied from interface: Digraph
Implementations should explicitly state how they interpret nodeIterator()'s remove method. It should either throw an UnsupportedOperationException or cause a hidden side effects of removing edges.

Specified by:
nodeIterator in interface Digraph
Overrides:
nodeIterator in class AbstractMatrixCEDigraph


Copyright (c) 2001, 2002, David Walend