V - the graph vertex type.E - the graph edge type.public class ChordalGraphColoring<V,E> extends Object implements VertexColoringAlgorithm<V>
ChordalityInspector to
compute a
perfect elimination order.
The vertex coloring for a chordal graph is computed in $\mathcal{O}(|V| + |E|)$ time.
All the methods in this class are invoked in a lazy fashion, meaning that computations are only
started once the method gets invoked.VertexColoringAlgorithm.Coloring<V>, VertexColoringAlgorithm.ColoringImpl<V>| Constructor and Description |
|---|
ChordalGraphColoring(Graph<V,E> graph)
Creates a new ChordalGraphColoring instance.
|
ChordalGraphColoring(Graph<V,E> graph,
ChordalityInspector.IterationOrder iterationOrder)
Creates a new ChordalGraphColoring instance.
|
| Modifier and Type | Method and Description |
|---|---|
VertexColoringAlgorithm.Coloring<V> |
getColoring()
Returns a minimum vertex
coloring of the inspected
graph. |
List<V> |
getPerfectEliminationOrder()
Returns the
perfect elimination order used to create the coloring (if one exists).
|
public ChordalGraphColoring(Graph<V,E> graph)
ChordalityInspector used in this
implementation uses the default MaximumCardinalityIterator iterator.graph - graphpublic ChordalGraphColoring(Graph<V,E> graph, ChordalityInspector.IterationOrder iterationOrder)
ChordalityInspector used in this
implementation uses either the MaximumCardinalityIterator iterator or the
LexBreadthFirstIterator iterator, depending on the parameter iterationOrder.graph - graphiterationOrder - constant which defines iterator to be used by the
ChordalityInspector in this implementation.public VertexColoringAlgorithm.Coloring<V> getColoring()
graph. If the graph isn't chordal, returns null. The
number of colors used in the coloring equals the chromatic number of the input graph.getColoring in interface VertexColoringAlgorithm<V>graph if it is chordal, null otherwise.public List<V> getPerfectEliminationOrder()
Copyright © 2018. All rights reserved.