Class DIMACSImporter<V,​E>

  • Type Parameters:
    V - the graph vertex type
    E - the graph edge type
    All Implemented Interfaces:
    GraphImporter<V,​E>

    @Deprecated
    public class DIMACSImporter<V,​E>
    extends Object
    implements GraphImporter<V,​E>
    Deprecated.
    In favor of DIMACSImporter.
    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>
        ...
     }
     
     
    Although not specified directly in the DIMACS format documentation, this implementation also allows for the a weighted variant:
     
     e <edge source 1> <edge target 1> <edge_weight> 
     
     
    Note: the current implementation does not fully implement the DIMACS specifications! Special (rarely used) fields specified as 'Optional Descriptors' are currently not supported (ignored).
    Author:
    Michael Behrisch (adaptation of GraphReader class), Joris Kinable, Dimitrios Michail
    • Field Detail

      • vertexProvider

        protected VertexProvider<V> vertexProvider
        Deprecated.
        Constructs new vertices
      • edgeProvider

        protected EdgeProvider<V,​E> edgeProvider
        Deprecated.
        Constructs new edges
      • vertexUpdater

        protected ComponentUpdater<V> vertexUpdater
        Deprecated.
        Updates already constructed vertices
      • graphUpdater

        protected ComponentUpdater<Graph<V,​E>> graphUpdater
        Deprecated.
        Updates graph properties
    • Constructor Detail

      • DIMACSImporter

        public DIMACSImporter​(VertexProvider<V> vertexProvider,
                              EdgeProvider<V,​E> edgeProvider,
                              double defaultWeight)
        Deprecated.
        Construct a new DIMACSImporter
        Parameters:
        vertexProvider - provider for the generation of vertices. Must not be null.
        edgeProvider - provider for the generation of edges. Must not be null.
        defaultWeight - default edge weight
      • DIMACSImporter

        public DIMACSImporter​(VertexProvider<V> vertexProvider,
                              EdgeProvider<V,​E> edgeProvider)
        Deprecated.
        Construct a new DIMACSImporter
        Parameters:
        vertexProvider - provider for the generation of vertices. Must not be null.
        edgeProvider - provider for the generation of edges. Must not be null.
    • Method Detail

      • importGraph

        public void importGraph​(Graph<V,​E> graph,
                                Reader input)
                         throws ImportException
        Deprecated.
        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 interface GraphImporter<V,​E>
        Parameters:
        graph - the output graph
        input - the input reader
        Throws:
        ImportException - in case an error occurs, such as I/O or parse error
      • getVertexProvider

        public VertexProvider<V> getVertexProvider()
        Deprecated.
        Get the vertex provider
        Returns:
        the vertex provider
      • setVertexProvider

        public void setVertexProvider​(VertexProvider<V> vertexProvider)
        Deprecated.
        Set the vertex provider
        Parameters:
        vertexProvider - the new vertex provider. Must not be null.
      • getEdgeProvider

        public EdgeProvider<V,​E> getEdgeProvider()
        Deprecated.
        Get the edge provider
        Returns:
        The edge provider
      • setEdgeProvider

        public void setEdgeProvider​(EdgeProvider<V,​E> edgeProvider)
        Deprecated.
        Set the edge provider.
        Parameters:
        edgeProvider - the new edge provider. Must not be null.
      • getVertexUpdater

        public ComponentUpdater<V> getVertexUpdater()
        Deprecated.
        Get the vertex updater
        Returns:
        the vertex updater
      • setVertexUpdater

        public void setVertexUpdater​(ComponentUpdater<V> vertexUpdater)
        Deprecated.
        Set the vertex updater.
        Parameters:
        vertexUpdater - the new vertex updater. Must not be null.
      • getGraphUpdater

        public ComponentUpdater<Graph<V,​E>> getGraphUpdater()
        Deprecated.
        Get the graph updater.
        Returns:
        the graph updater
      • setGraphUpdater

        public void setGraphUpdater​(ComponentUpdater<Graph<V,​E>> graphUpdater)
        Deprecated.
        Set the graph updater.
        Parameters:
        graphUpdater - the new graph updater. Must not be null.