![]() |
AuD
Lecture 'Algorithmen und Datenstrukturen' (code examples)
|
Graph implementation based on adjacency matrix. More...
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 () |
![]() | |
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) |
![]() | |
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().
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().
|
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().
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().
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().
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().
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().
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().
void aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.removeNode | ( | Node | node | ) |
Definition at line 102 of file GraphAM.java.