Definition
An instance R of the data type dynamic_random_variate is
a non-uniform random number generator. The generation process is
governed by an array<int> w. Let
be the index range of
w and let W = sum_i w[i] be the total weight. Then any integer
is generated
with probability w[i]/W. The weight function w must
be non-negative and W must be non-zero. The weight function can be changed
dynamically.
The include file is <LEDA/random_variate.h>
Creation
dynamic_random_variate | R(array<int> w); | creates an instance R of type dynamic_random_variate. |
|
Operations
int | R.generate() | generates
![]() |
int | R.set_weight(int i, int g) | |
sets w[i] to g and returns the old value of w[i].
Precondition: ![]() |