Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

MaxAdjOrdering.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 #include <ogdf/basic/basic.h>
36 
37 namespace ogdf {
38 class GraphAttributes;
39 template<class E>
40 class ListPure;
41 
52 private:
62  void m_calcAllMAOs_recursion(int n, ListPure<node> currentOrder, ListPure<node> currentUnsorted,
64 
77  void m_calcAllMAOs_recursion(int n, ListPure<node> currentOrder,
78  ListPure<ListPure<edge>> currentForest, ListPure<node> currentUnsorted, NodeArray<int> r,
80 
81 public:
89  ~MaxAdjOrdering();
90 
96  void calc(const Graph* G, ListPure<node>* MAO);
103  void calcBfs(const Graph* G, ListPure<node>* MAO);
104 
111  void calc(const Graph* G, node s, ListPure<node>* MAO);
112 
119  void calc(const Graph* G, ListPure<node>* MAO, ListPure<ListPure<edge>>* Forests);
120 
128  void calc(const Graph* G, node s, ListPure<node>* MAO, ListPure<ListPure<edge>>* Forests);
129 
135  void calcAll(const Graph* G, ListPure<ListPure<node>>* MAOs);
136 
143  void calcAll(const Graph* G, ListPure<ListPure<node>>* MAOs,
145 
152  void calcForest(const Graph& G, ListPure<node>* MAO, ListPure<ListPure<edge>>* F);
153 
157  void calcForest(const Graph& G, const ListPure<node>& MAO, ListPure<ListPure<edge>>* F);
158 
164  bool testIfMAO(const Graph* G, ListPure<node>* Ordering);
165 
171  bool testIfMAOBfs(const Graph* G, ListPure<node>* Ordering);
172 
173 
184  bool testIfAllMAOs(const Graph* G, ListPure<ListPure<node>>* Orderings,
185  ListPure<ListPure<node>>* Perms);
191  void visualize(GraphAttributes* GA, ListPure<node>* MAO);
192 
197  void visualize(GraphAttributes* GA, ListPure<node>* MAO, ListPure<ListPure<edge>>* F);
198 
202  void visualize(GraphAttributes* GA, const ListPure<node>& MAO, ListPure<ListPure<edge>>* F);
203 };
204 
205 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
ogdf::GraphAttributes
Stores additional attributes of a graph (like layout information).
Definition: GraphAttributes.h:72
Graph.h
Includes declaration of graph class.
ogdf::MaxAdjOrdering
Calculate one or all Maximum Adjacency Ordering(s) of a given simple undirected graph.
Definition: MaxAdjOrdering.h:51
r
int r[]
Definition: hierarchical-ranking.cpp:13
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:658
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:869
ogdf::ListPure
Doubly linked lists.
Definition: List.h:55
basic.h
Basic declarations, included by all source files.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:240