org.xerial.util.graph
Class AdjacencyList<NodeType,EdgeType>

java.lang.Object
  extended by org.xerial.util.graph.AdjacencyList<NodeType,EdgeType>

public class AdjacencyList<NodeType,EdgeType>
extends Object

AdjacencyList is a directed graph in which node IDs and edge IDs are automatically assigned to for each node and edge.

Author:
leo

Constructor Summary
AdjacencyList()
           
 
Method Summary
 int add(NodeType node)
           
 void addEdge(int sourceNodeID, int destNodeID, EdgeType edge)
           
 void addEdge(NodeType sourceNode, NodeType destNode)
           
 void addEdge(NodeType sourceNode, NodeType destNode, EdgeType edge)
           
 void clear()
           
 Set<Integer> destNodeIDSet(Integer nodeID)
           
 Set<Integer> destNodeIDSetOf(NodeType node)
           
 List<Edge> edgeSet()
           
 int getEdgeID(Edge edge)
           
 EdgeType getEdgeInfo(Edge edge)
           
 EdgeType getEdgeInfo(NodeType src, NodeType dest)
           
 NodeType getNode(int nodeID)
           
 int getNodeID(NodeType node)
           
 boolean hasEdge(NodeType src, NodeType dest)
           
 boolean hasNode(NodeType node)
           
 List<Edge> inEdgeList(NodeType node)
           
 Collection<NodeType> nodeCollection()
           
 Set<Integer> nodeIDSet()
           
 int numVertex()
           
 List<Edge> outEdgeList(NodeType node)
           
 List<NodeType> outNodeList(NodeType node)
           
 void setEdge(int edgeID, int sourceNodeID, int destNodeID, EdgeType edge)
           
 void setNode(int nodeID, NodeType node)
           
 Set<Integer> sourceNodeIDSet(Integer nodeID)
           
 Set<Integer> sourceNodeIDSetOf(NodeType node)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AdjacencyList

public AdjacencyList()
Method Detail

add

public int add(NodeType node)

addEdge

public void addEdge(NodeType sourceNode,
                    NodeType destNode)

addEdge

public void addEdge(NodeType sourceNode,
                    NodeType destNode,
                    EdgeType edge)

addEdge

public void addEdge(int sourceNodeID,
                    int destNodeID,
                    EdgeType edge)
             throws GraphException
Throws:
GraphException

nodeCollection

public Collection<NodeType> nodeCollection()

nodeIDSet

public Set<Integer> nodeIDSet()

destNodeIDSetOf

public Set<Integer> destNodeIDSetOf(NodeType node)

sourceNodeIDSetOf

public Set<Integer> sourceNodeIDSetOf(NodeType node)

destNodeIDSet

public Set<Integer> destNodeIDSet(Integer nodeID)

sourceNodeIDSet

public Set<Integer> sourceNodeIDSet(Integer nodeID)

getNodeID

public int getNodeID(NodeType node)

getNode

public NodeType getNode(int nodeID)

outEdgeList

public List<Edge> outEdgeList(NodeType node)

outNodeList

public List<NodeType> outNodeList(NodeType node)

inEdgeList

public List<Edge> inEdgeList(NodeType node)

hasNode

public boolean hasNode(NodeType node)

hasEdge

public boolean hasEdge(NodeType src,
                       NodeType dest)

clear

public void clear()

numVertex

public int numVertex()

edgeSet

public List<Edge> edgeSet()

getEdgeID

public int getEdgeID(Edge edge)

getEdgeInfo

public EdgeType getEdgeInfo(Edge edge)

getEdgeInfo

public EdgeType getEdgeInfo(NodeType src,
                            NodeType dest)

setNode

public void setNode(int nodeID,
                    NodeType node)

setEdge

public void setEdge(int edgeID,
                    int sourceNodeID,
                    int destNodeID,
                    EdgeType edge)

toString

public String toString()
Overrides:
toString in class Object


Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.1 Japan License.