Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
MaxAdjOrdering.h
Go to the documentation of this file.
1
32#pragma once
33
35#include <ogdf/basic/Graph.h>
37#include <ogdf/basic/basic.h>
38#include <ogdf/basic/geometry.h>
39#include <ogdf/basic/graphics.h>
41
42namespace ogdf {
43
54private:
66
82
83public:
92
98 void calc(const Graph* G, ListPure<node>* MAO);
105 void calcBfs(const Graph* G, ListPure<node>* MAO);
106
113 void calc(const Graph* G, node s, ListPure<node>* MAO);
114
122
131
138
147
155
160
167
174
175
194
200
205};
206
207}
Declaration of ogdf::AdjacencyOracle class.
Includes declaration of graph class.
Declaration of class GraphAttributes which extends a Graph by additional attributes.
This class is a simple layout that places nodes next to each other and draws edges as bows above the ...
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
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).
Definition Graph_d.h:521
Doubly linked lists.
Definition List.h:217
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.
Dynamic arrays indexed with nodes.
Definition NodeArray.h:125
Class for the representation of nodes.
Definition Graph_d.h:177
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
Declaration of basic types for graphics.
int r[]
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.