de.cau.cs.kieler.klodd.hierarchical.structures.slimgraph.alg
Class DFSCycleRemover

java.lang.Object
  extended by de.cau.cs.kieler.core.alg.AbstractAlgorithm
      extended by de.cau.cs.kieler.klodd.hierarchical.structures.slimgraph.alg.AbstractCycleRemover
          extended by de.cau.cs.kieler.klodd.hierarchical.structures.slimgraph.alg.DFSCycleRemover
All Implemented Interfaces:
IAlgorithm, ICycleRemover

public class DFSCycleRemover
extends AbstractCycleRemover

Cycle remover that uses a depth first search to remove cycles.

Rating proposed yellow
(2009-12-11) msp

Field Summary
 
Fields inherited from interface de.cau.cs.kieler.klodd.hierarchical.structures.slimgraph.alg.ICycleRemover
REVERSED
 
Constructor Summary
DFSCycleRemover()
           
 
Method Summary
 void removeCycles(KSlimGraph graph)
          Remove cycles in a given graph.
 
Methods inherited from class de.cau.cs.kieler.klodd.hierarchical.structures.slimgraph.alg.AbstractCycleRemover
getReversedEdges, reset, restoreGraph, reverseEdges, setReversedEdges
 
Methods inherited from class de.cau.cs.kieler.core.alg.AbstractAlgorithm
getMonitor, reset, setProgressMonitor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.cau.cs.kieler.core.alg.IAlgorithm
reset, setProgressMonitor
 

Constructor Detail

DFSCycleRemover

public DFSCycleRemover()
Method Detail

removeCycles

public void removeCycles(KSlimGraph graph)
Remove cycles in a given graph. Loops on a single node are ignored and have to be processed properly in later steps. Each edge is assigned a rank with value REVERSED if and only if the edge was reversed for cycle removal.

Parameters:
graph - graph to be processed