67 std::shared_ptr<ArrayBFSTree>
tree;
88 std::string name =
"DualFC";
89 if (useTriangulatingBFS) {
Includes declaration of graph class.
Declaration of class SeparatorLiptonTarjanFC.
Basic declarations, included by all source files.
Data type for general directed graphs (adjacency list representation).
Doubly linked lists (maintaining the length of the list).
Computes planar separators by applying the Fundamental Cycle Lemma directly, without trying tree leve...
virtual std::string getSpecificName() const override
Returns the unique name of the core algorithm, to be combined with postprocessors later.
std::shared_ptr< ArrayBFSTree > tree
virtual bool findCycle(List< node > &separator, List< node > &first, List< node > &second) override
Finds a suitable cycle by performing a DFS over the faces of the dual of the graph.
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 makeTree()
Builds the BFS tree.
virtual double getMaxSeparatorSize(int n) const override
Maximum separator size depends on diameter of graph, so returns -1.
SeparatorDualFC(bool useTriBFS=false)
Constructor.
Computes planar separators using Fundamental Cycles.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
The namespace for all OGDF objects.