40namespace planar_separators {
102 std::shared_ptr<ArrayBFSTree>
tree;
105 std::string name =
"LTFC";
106 if (useTriangulatingBFS) {
Declaration of base class of all planar separator algorithms.
Class for adjacency list elements.
Class for the representation of edges.
Copies of graphs supporting edge splitting.
Data type for general directed graphs (adjacency list representation).
Doubly linked lists (maintaining the length of the list).
Class for the representation of nodes.
Abstract description of all planar separator algorithms.
Computes planar separators using Fundamental Cycles.
virtual double getMaxSeparatorSize(int n) const override
Provides the maximal separator size that this algorithm guarantees as a function of the number of nod...
virtual std::string getSpecificName() const override
Returns the unique name of the core algorithm, to be combined with postprocessors later.
edge chooseEdge() const
Randomly selects the initial edge for the first cycle.
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.
std::shared_ptr< ArrayBFSTree > tree
SeparatorLiptonTarjanFC(bool useTriBFS=false)
Constructor.
virtual bool findCycle(List< node > &separator, List< node > &first, List< node > &second)
Finds a cycle that works as a separator.
Abstract BFSTree that is realized via NodeArrays.
BFSTreeFC(GraphCopy &G, node rootNode)
Constructor.
Triangulating BFS tree that operates on a non-triangulated graph and constructs the triangulation tog...
void visit(node v, node parent, adjEntry adj, SListPure< node > &bfs)
TriangulatingBFSTree(GraphCopy &G, node rootNode)
Constructor.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.