Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Set.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 
36 namespace ogdf::energybased::fmmm {
37 class NodeAttributes;
38 } // namespace ogdf::energybased::fmmm
39 
40 namespace ogdf {
41 namespace energybased {
42 namespace fmmm {
43 
47 class Set {
48 public:
49  Set();
50  ~Set();
51 
52  void set_seed(int rand_seed);
53 
54 
57 
61  void init_node_set(Graph& G);
62 
65 
68 
70  void delete_node(node v);
71 
75 
79 
83 
86 
90 
94 
98 
102 
104 
105 protected:
107  node get_random_node_common(int, int&);
108 
110  template<typename Comp>
111  node get_random_node_with_some_star_mass(int rand_tries, Comp comp = Comp());
112 
113 private:
121 };
122 
123 }
124 }
125 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
ogdf::energybased::fmmm::Set::last_selectable_index_of_S_node
int last_selectable_index_of_S_node
index of the last randomly choosable element in S_node (this value is decreased after each select ope...
Definition: Set.h:115
Graph.h
Includes declaration of graph class.
ogdf::energybased::fmmm::Set::get_random_node_with_some_star_mass
node get_random_node_with_some_star_mass(int rand_tries, Comp comp=Comp())
Helper function for get_random_node methods with lowest or highest star mass.
ogdf::energybased::fmmm
Definition: common.h:43
ogdf::energybased::fmmm::Set::S_node
node * S_node
representation of the node set S_node[0,G.number_of_nodes()-1]
Definition: Set.h:114
ogdf::energybased::fmmm::Set::init_node_set
void init_node_set(Graph &G)
Inits S_node[0,...,G.number_of_nodes()-1] and stores the i-th node of P at position S_node[i] and in ...
ogdf::energybased::fmmm::Set::Set
Set()
constructor
ogdf::energybased::fmmm::Set::is_deleted
bool is_deleted(node v)
Returns true if and only if v is deleted from S_node.
Definition: Set.h:67
ogdf::energybased::fmmm::Set::~Set
~Set()
destructor
ogdf::energybased::fmmm::Set::get_random_node_with_lowest_star_mass
node get_random_node_with_lowest_star_mass(int rand_tries)
Gets rand_tries random elements from S_node and selects the one with the lowest mass_of_star and upda...
ogdf::energybased::fmmm::Set::get_random_node
node get_random_node()
Selects a random element from S_node with uniform probability and updates S_node and position_in_node...
ogdf::energybased::fmmm::Set::delete_node
void delete_node(node v)
Deletes the node v from S_node.
ogdf::energybased::fmmm::Set::empty_node_set
bool empty_node_set()
Returns whether S_node is empty or not.
Definition: Set.h:64
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::energybased::fmmm::Set::mass_of_star
NodeArray< int > mass_of_star
the sum of the masses of a node and its neighbours
Definition: Set.h:120
ogdf::energybased::fmmm::Set::position_in_node_set
NodeArray< int > position_in_node_set
holds for each node of G the index of its position in S_node
Definition: Set.h:118
ogdf::energybased::fmmm::Set::get_random_node_common
node get_random_node_common(int, int &)
Common updates for each get_random_node method.
ogdf::energybased::fmmm::Set::get_random_node_with_highest_star_mass
node get_random_node_with_highest_star_mass(int rand_tries)
Gets rand_tries random elements from S_node and selects the one with the highest mass_of_star and upd...
ogdf::energybased::fmmm::Set
Helping data structure that holds set S_node of nodes in the range [0, G.number_of_nodes()-1] (needed...
Definition: Set.h:47
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:240
ogdf::energybased::fmmm::Set::set_seed
void set_seed(int rand_seed)
the the random seed to rand_seed