40#include <unordered_set>
60 : useTriBFS {useTriangulatingBFS}, treeHeightIterations(
treeHeightIt + 1) { }
63 std::string name =
"Dual";
67 if (treeHeightIterations > 1) {
68 name +=
"-THM-" + std::to_string(treeHeightIterations - 1);
declaration and implementation of FaceArray class
Declaration of base class of all planar separator algorithms.
Declaration of class SeparatorDualHelper.
Declaration of class SeparatorLiptonTarjan.
Declaration of class SeparatorLiptonTarjanFC.
Data type for general directed graphs (adjacency list representation).
Doubly linked lists (maintaining the length of the list).
Computes planar separators using the Dual of the graph.
virtual double getMaxSeparatorSize(int n) const override
Provides the maximal separator size that this algorithm guarantees as a function of the number of nod...
SeparatorDual(bool useTriangulatingBFS=false, unsigned int treeHeightIt=0)
Constructor.
virtual void makeTree() override
Creates the BFS tree used by the algorithm.
unsigned int treeHeightIterations
virtual bool doSeparate(const Graph &G, List< node > &separator, List< node > &first, List< node > &second) override
Core of the specific separation algorithm - override this in inheriting classes.
virtual std::string getSpecificName() const override
Returns the unique name of the core algorithm, to be combined with postprocessors later.
Computes planar separators according to Lipton and Tarjan 1979.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.