Package org.jgrapht.nio.dimacs
Class DIMACSImporter<V,E>
- java.lang.Object
-
- org.jgrapht.nio.BaseEventDrivenImporter<V,E>
-
- org.jgrapht.nio.dimacs.DIMACSImporter<V,E>
-
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Implemented Interfaces:
GraphImporter<V,E>
public class DIMACSImporter<V,E> extends BaseEventDrivenImporter<V,E> implements GraphImporter<V,E>
Imports a graph specified in DIMACS format.See
DIMACSFormat
for a description of all the supported DIMACS formats.In summary, one of the most common DIMACS formats was used in the 2nd DIMACS challenge and follows the following structure:
DIMACS G { c <comments> ignored during parsing of the graph p edge <number of nodes> <number of edges> e <edge source 1> <edge target 1> e <edge source 2> <edge target 2> e <edge source 3> <edge target 3> e <edge source 4> <edge target 4> ... }
e <edge source 1> <edge target 1> <edge_weight>
- Author:
- Michael Behrisch (adaptation of GraphReader class), Joris Kinable, Dimitrios Michail
-
-
Constructor Summary
Constructors Constructor Description DIMACSImporter()
Construct a new DIMACSImporterDIMACSImporter(double defaultWeight)
Construct a new DIMACSImporter
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
importGraph(Graph<V,E> graph, Reader input)
Import a graph.-
Methods inherited from class org.jgrapht.nio.BaseEventDrivenImporter
addEdgeAttributeConsumer, addEdgeConsumer, addEdgeCountConsumer, addGraphAttributeConsumer, addImportEventConsumer, addVertexAttributeConsumer, addVertexConsumer, addVertexCountConsumer, notifyEdge, notifyEdgeAttribute, notifyEdgeCount, notifyGraphAttribute, notifyImportEvent, notifyVertex, notifyVertexAttribute, notifyVertexCount, removeEdgeAttributeConsumer, removeEdgeConsumer, removeEdgeCountConsumer, removeGraphAttributeConsumer, removeImportEventConsumer, removeVertexAttributeConsumer, removeVertexConsumer, removeVertexCountConsumer
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jgrapht.nio.GraphImporter
importGraph, importGraph
-
-
-
-
Method Detail
-
importGraph
public void importGraph(Graph<V,E> graph, Reader input) throws ImportException
Import a graph.The provided graph must be able to support the features of the graph that is read. For example if the file contains self-loops then the graph provided must also support self-loops. The same for multiple edges.
If the provided graph is a weighted graph, the importer also reads edge weights. Otherwise edge weights are ignored.
- Specified by:
importGraph
in interfaceGraphImporter<V,E>
- Parameters:
graph
- the output graphinput
- the input reader- Throws:
ImportException
- in case an error occurs, such as I/O or parse error
-
-