57 : useTriBFS {useTriangulatingBFS}, treeHeightIterations(
treeHeightIt + 1) { }
69 std::shared_ptr<BFSTreeClassical>
tree;
72 std::string name =
"LT";
76 if (treeHeightIterations > 1) {
77 name +=
"-THM-" + std::to_string(treeHeightIterations - 1);
Declaration of base class of all planar separator algorithms.
Class for the representation of edges.
Data type for general directed graphs (adjacency list representation).
Doubly linked lists (maintaining the length of the list).
Abstract description of all planar separator algorithms.
Computes planar separators according to Lipton and Tarjan 1979.
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.
void fillLists(List< node > &separator, List< node > &first, List< node > &second) const
Fills the lists with the cycle / inside / outside once the cycle is ready.
std::shared_ptr< BFSTreeClassical > tree
virtual std::string getSpecificName() const override
Returns the unique name of the core algorithm, to be combined with postprocessors later.
virtual void makeTree()
Creates the BFS tree used by the algorithm.
unsigned int treeHeightIterations
SeparatorLiptonTarjan(bool useTriangulatingBFS=false, unsigned int treeHeightIt=0)
Constructor.
virtual double getMaxSeparatorSize(int n) const override
Provides the maximal separator size that this algorithm guarantees as a function of the number of nod...
edge chooseEdge() const
Chooses the initial edge for the very first cycle.
Auxiliary data structure to represent Cycles in planar graphs.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.