![]()  | 
  
    AuD
    
   Lecture 'Algorithmen und Datenstrukturen' (code examples) 
   | 
 
Graph implementation based on adjacency matrix. More...
 Inheritance diagram for aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >:
 Collaboration diagram for aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >:Public Member Functions | |
| GraphAM (Node nodeGenerator, Edge edgeGenerator, boolean directed) | |
| Create graph.  More... | |
| boolean | isDirected () | 
| Node | addNode () | 
| Edge | addEdge (Node source, Node destination) | 
| int | getNumNodes () | 
| Node | getSomeNode () | 
| Iterator< Node > | iterator () | 
| Edge | getEdge (Node source, Node destination) | 
| Vector< Edge > | getInEdges (Node node) | 
| Vector< Edge > | getOutEdges (Node node) | 
| void | removeNode (Node node) | 
| void | removeEdge (Edge edge) | 
| Iterator< Edge > | getEdgeIterator () | 
  Public Member Functions inherited from aud.graph.AbstractGraph< Node, Edge > | |
| AbstractGraph (Node nodeGenerator, Edge edgeGenerator) | |
| Constructor.  More... | |
| abstract boolean | isDirected () | 
| Is graph directed?  More... | |
| abstract Node | addNode () | 
| create and add new node  More... | |
| abstract Edge | addEdge (Node source, Node destination) | 
Create and add new edge from source to .  More... | |
| abstract void | removeNode (Node node) | 
| Remove node and all its incident and excident edges.  More... | |
| abstract void | removeEdge (Edge edge) | 
| Remove edge.  More... | |
| abstract int | getNumNodes () | 
| get number of nodes  More... | |
| abstract Node | getSomeNode () | 
| Get some node.  More... | |
| abstract Edge | getEdge (Node source, Node destination) | 
Get edge from source to destination.  More... | |
| Edge | ensureEdge (Node source, Node destination) | 
Same as getEdge but throw if there is no such edge.  More... | |
| abstract Vector< Edge > | getInEdges (Node node) | 
| Get incident edges of node.  More... | |
| abstract Vector< Edge > | getOutEdges (Node node) | 
| Get incident edges of node.  More... | |
| int | getInDegree (Node node) | 
| get number of edges incident to node  More... | |
| int | getOutDegree (Node node) | 
| get number of edges emanating from node  More... | |
| int | getDegree (Node node) | 
| Get total degree.  More... | |
| abstract Iterator< Edge > | getEdgeIterator () | 
| Get iterator over all edges.  More... | |
| Edges | edges () | 
| Get Edges instance to obtain iterator.  More... | |
| String | toString () | 
| GraphvizDecorator | getDecorator () | 
get decoration or null More...  | |
| String | toDot () | 
| Get dot representation.  More... | |
Protected Member Functions | |
| Node | check (Node node) | 
| Edge | check (Edge edge) | 
  Protected Member Functions inherited from aud.graph.AbstractGraph< Node, Edge > | |
| Node | check (Node node) | 
| helper: check if node is valid  More... | |
| Edge | check (Edge edge) | 
| helper: check if edge is valid  More... | |
Graph implementation based on adjacency matrix.
The implementation uses a sparse AdjacencyMatrix
Definition at line 13 of file GraphAM.java.
| aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.GraphAM | ( | Node | nodeGenerator, | 
| Edge | edgeGenerator, | ||
| boolean | directed | ||
| ) | 
Create graph.
| nodeGenerator | same as for AbstractGraph#AbstractGraph  | 
| edgeGenerator | same as for AbstractGraph#AbstractGraph  | 
| directed | true for creating a directed graph, false for an undirected graph (symmetric AdjacencyMatrix)  | 
Definition at line 27 of file GraphAM.java.
| Edge aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.addEdge | ( | Node | source, | 
| Node | destination | ||
| ) | 
Definition at line 49 of file GraphAM.java.
References aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.check(), aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.getEdge(), and aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.isDirected().
Referenced by aud.example.graph.MaxFlowExample.createGraph(), aud.test.GraphTest.testDouble(), aud.test.GraphTest.testDouble2(), and aud.test.GraphTest.testOther().
 Here is the call graph for this function:
 Here is the caller graph for this function:| Node aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.addNode | ( | ) | 
Definition at line 40 of file GraphAM.java.
Referenced by aud.example.graph.MaxFlowExample.createGraph(), aud.test.GraphTest.testDouble(), aud.test.GraphTest.testDouble2(), and aud.test.GraphTest.testOther().
 Here is the caller graph for this function:
      
  | 
  protected | 
Definition at line 89 of file GraphAM.java.
      
  | 
  protected | 
Definition at line 84 of file GraphAM.java.
Referenced by aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.addEdge(), and aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.removeEdge().
 Here is the caller graph for this function:| Edge aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.getEdge | ( | Node | source, | 
| Node | destination | ||
| ) | 
Definition at line 80 of file GraphAM.java.
Referenced by aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.addEdge(), and aud.example.graph.IterativeDFS1.start().
 Here is the caller graph for this function:| Iterator< Edge > aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.getEdgeIterator | ( | ) | 
Definition at line 113 of file GraphAM.java.
| Vector< Edge > aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.getInEdges | ( | Node | node | ) | 
Definition at line 95 of file GraphAM.java.
| int aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.getNumNodes | ( | ) | 
Definition at line 73 of file GraphAM.java.
Referenced by aud.example.graph.PriorityFirstSearch.start().
 Here is the caller graph for this function:| Vector< Edge > aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.getOutEdges | ( | Node | node | ) | 
Definition at line 98 of file GraphAM.java.
| Node aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.getSomeNode | ( | ) | 
Definition at line 74 of file GraphAM.java.
Referenced by aud.example.graph.TraversalExample.main().
 Here is the caller graph for this function:| boolean aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.isDirected | ( | ) | 
Definition at line 35 of file GraphAM.java.
Referenced by aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.addEdge().
 Here is the caller graph for this function:| Iterator< Node > aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.iterator | ( | ) | 
Definition at line 76 of file GraphAM.java.
| void aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.removeEdge | ( | Edge | edge | ) | 
Definition at line 108 of file GraphAM.java.
References aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.check().
 Here is the call graph for this function:| void aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.removeNode | ( | Node | node | ) | 
Definition at line 102 of file GraphAM.java.