Includes declaration of graph class.
Basic declarations, included by all source files.
Stores additional attributes of a graph (like layout information).
Data type for general directed graphs (adjacency list representation).
Calculate one or all Maximum Adjacency Ordering(s) of a given simple undirected graph.
bool testIfMAOBfs(const Graph *G, ListPure< node > *Ordering)
Test if a given ordering is a MAO that follows lex-bfs tie breaking.
void calc(const Graph *G, node s, ListPure< node > *MAO)
Calculates one MAO starting with a given node.
void visualize(GraphAttributes *GA, const ListPure< node > &MAO, ListPure< ListPure< edge > > *F)
Convenient way to visualize a MAO with the LinearLayout class.
void m_calcAllMAOs_recursion(int n, ListPure< node > currentOrder, ListPure< ListPure< edge > > currentForest, ListPure< node > currentUnsorted, NodeArray< int > r, ListPure< ListPure< node > > *MAOs, ListPure< ListPure< ListPure< edge > > > *Fs)
This method gets called recursively to generate all MAOs and their induced forest decompositions of t...
void calcForest(const Graph &G, const ListPure< node > &MAO, ListPure< ListPure< edge > > *F)
Calculates the associated forest decomposition of a given MAO of a graph.
void calcAll(const Graph *G, ListPure< ListPure< node > > *MAOs)
Calculates all MAOs of a given graph.
void visualize(GraphAttributes *GA, ListPure< node > *MAO, ListPure< ListPure< edge > > *F)
Convenient way to visualize a MAO with the LinearLayout class.
void calc(const Graph *G, ListPure< node > *MAO, ListPure< ListPure< edge > > *Forests)
Calculates one MAO starting with the node with index 0.
void m_calcAllMAOs_recursion(int n, ListPure< node > currentOrder, ListPure< node > currentUnsorted, NodeArray< int > r, ListPure< ListPure< node > > *MAOs)
This method gets called recursively to generate all MAOs via backtracking.
bool testIfMAO(const Graph *G, ListPure< node > *Ordering)
Test if a given ordering is a MAO.
MaxAdjOrdering()
Standard constructor.
void calc(const Graph *G, ListPure< node > *MAO)
Calculates one MAO starting with the node with index 0.
void calcBfs(const Graph *G, ListPure< node > *MAO)
Calculates one MAO starting with the node with index 0 and lex-bfs tie breaking.
bool testIfAllMAOs(const Graph *G, ListPure< ListPure< node > > *Orderings, ListPure< ListPure< node > > *Perms)
testIfAllMAOs checks all permutations (must be provided) if they are a MAO and if yes searches this o...
void calc(const Graph *G, node s, ListPure< node > *MAO, ListPure< ListPure< edge > > *Forests)
Calculates one MAO starting with a given node.
void calcAll(const Graph *G, ListPure< ListPure< node > > *MAOs, ListPure< ListPure< ListPure< edge > > > *Fs)
Calculates all MAOs including their associated forest decompositions of a given graph.
void visualize(GraphAttributes *GA, ListPure< node > *MAO)
Convenient way to visualize a MAO with the LinearLayout class.
void calcForest(const Graph &G, ListPure< node > *MAO, ListPure< ListPure< edge > > *F)
Calculates the associated forest decomposition of a given MAO of a graph.
~MaxAdjOrdering()
Standard destructor.
Class for the representation of nodes.
RegisteredArray for nodes, edges and adjEntries of a graph.
#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.