public class PermutationSampler extends Object
int[] array in-place.| Constructor and Description |
|---|
PermutationSampler(UniformRandomProvider rng,
int n,
int k)
Creates a generator of permutations.
|
| Modifier and Type | Method and Description |
|---|---|
static int[] |
natural(int n)
Creates an array representing the natural number
n. |
int[] |
sample() |
static void |
shuffle(UniformRandomProvider rng,
int[] list)
Shuffles the entries of the given array.
|
static void |
shuffle(UniformRandomProvider rng,
int[] list,
int start,
boolean towardHead)
Shuffles the entries of the given array, using the
Fisher-Yates algorithm.
|
public PermutationSampler(UniformRandomProvider rng, int n, int k)
sample() method will generate an integer array of
length k whose entries are selected randomly, without
repetition, from the integers 0, 1, ..., n-1 (inclusive).
The returned array represents a permutation of n taken
k.rng - Generator of uniformly distributed random numbers.n - Domain of the permutation.k - Size of the permutation.IllegalArgumentException - if n < 0 or k <= 0
or k > n.public int[] sample()
PermutationSampler(UniformRandomProvider,int,int)public static void shuffle(UniformRandomProvider rng, int[] list)
rng - Random number generator.list - Array whose entries will be shuffled (in-place).shuffle(UniformRandomProvider,int[],int,boolean)public static void shuffle(UniformRandomProvider rng, int[] list, int start, boolean towardHead)
start and pos parameters select which part
of the array is randomized and which is left untouched.rng - Random number generator.list - Array whose entries will be shuffled (in-place).start - Index at which shuffling begins.towardHead - Shuffling is performed for index positions between
start and either the end (if false) or the beginning
(if true) of the array.public static int[] natural(int n)
n.n - Natural number.n-1.
If n == 0, the returned array is empty.Copyright © 2016 The Apache Software Foundation. All rights reserved.