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 #include <ogdf/basic/List.h>
36 #include <ogdf/basic/NodeArray.h>
38 
39 namespace ogdf {
40 namespace energybased {
41 namespace fmmm {
42 
46 class Set {
47 public:
48  Set();
49  ~Set();
50 
51  void set_seed(int rand_seed);
52 
53 
56 
60  void init_node_set(Graph& G);
61 
64 
67 
69  void delete_node(node v);
70 
74 
78 
82 
85 
89 
93 
97 
101 
103 
104 protected:
106  node get_random_node_common(int, int&);
107 
109  template<typename Comp>
110  node get_random_node_with_some_star_mass(int rand_tries, Comp comp = Comp());
111 
112 private:
120 };
121 
122 }
123 }
124 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
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:114
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::Set::S_node
node * S_node
representation of the node set S_node[0,G.number_of_nodes()-1]
Definition: Set.h:113
NodeAttributes.h
Declaration of class NodeAttributes.
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:66
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:63
ogdf::internal::GraphRegisteredArray
RegisteredArray for nodes, edges and adjEntries of a graph.
Definition: Graph_d.h:651
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:862
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:119
NodeArray.h
Declaration and implementation of NodeArray class.
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:117
ogdf::energybased::fmmm::Set::get_random_node_common
node get_random_node_common(int, int &)
Common updates for each get_random_node method.
List.h
Declaration of doubly linked lists and iterators.
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:46
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:233
ogdf::energybased::fmmm::Set::set_seed
void set_seed(int rand_seed)
the the random seed to rand_seed