LAL: Linear Arrangement Library 21.07.01
A library focused on algorithms on linear arrangements of graphs.
|
Uniformly random generation of labelled rooted trees. More...
#include <rand_lab_rooted_trees.hpp>
Public Member Functions | |
_rand_lab_rooted_trees (uint32_t n, uint32_t seed=0) noexcept | |
Constructor with size of tree and seed for the random number generator. | |
_rand_lab_rooted_trees (const _rand_lab_rooted_trees &Gen)=default | |
Copy constructor. | |
_rand_lab_rooted_trees (_rand_lab_rooted_trees &&Gen)=default | |
Move constructor. | |
~_rand_lab_rooted_trees ()=default | |
Default destructor. | |
graphs::rooted_tree | get_tree () noexcept |
Generates uniformly at random a labelled rooted tree. | |
Protected Member Functions | |
void | init (uint32_t seed=0) noexcept |
Sets the size of the labelled trees to generate. | |
Uniformly random generation of labelled rooted trees.
Users should refrain from using this class. The generation of random labelled trees should be done using the wrapper class rand_lab_rooted_trees. This class, however, contains the actual code to generate labelled rooted trees uniformly at random.
These trees are generated by first generating uniformly at random a free labelled tree. Then, a node of the generated tree is chosen uniformly at random. This node plays the role of the root of the rooted labelled tree. The edges are oriented away from the root.
|
inlinenoexcept |
Constructor with size of tree and seed for the random number generator.
In case the seed given is '0', a random seed will be generated.
n | Number of nodes. |
seed | The seed used for the random generator. |
|
default |
Copy constructor.
Gen | Random labelled rooted tree generator. |
|
default |
Move constructor.
Gen | Random labelled rooted tree generator. |
|
inlinenoexcept |
Generates uniformly at random a labelled rooted tree.
|
inlineprotectednoexcept |
Sets the size of the labelled trees to generate.
Initialises the random number generator.
seed | Integer value used to seed the random number generator. |