Class RandomSamplingAssistant

  • All Implemented Interfaces:
    Serializable, Cloneable

    public class RandomSamplingAssistantextends PersistentObject
    Conveniently computes a stable Simple Random Sample Without Replacement (SRSWOR) subsequence of n elements from a given input sequence of N elements; Example: Computing a sublist of n=3 random elements from a list (1,...,50) may yield the sublist (7,13,47). The subsequence is guaranteed to be stable, i.e. elements never change position relative to each other. Each element from the N elements has the same probability to be included in the n chosen elements. This class is a convenience adapter for RandomSampler using blocks.
    See Also:
    RandomSampler, Serialized Form
    • Constructor Detail

      • RandomSamplingAssistant

        public RandomSamplingAssistant(long n,                       long N,                       RandomEngine randomGenerator)
        Constructs a random sampler that samples n random elements from an input sequence of N elements.
        n - the total number of elements to choose (must be >= 0).
        N - number of elements to choose from (must be >= n).
        randomGenerator - a random number generator. Set this parameter to null to use the default random number generator.
    • Method Detail

      • clone

        public Object clone()
        Returns a deep copy of the receiver.
        clone in class PersistentObject
        a copy of the receiver.
      • getRandomGenerator

        public RandomEngine getRandomGenerator()
        Returns the used random generator.
      • main

        public static void main(String[] args)
        Tests random sampling.
      • sampleArray

        public static int[] sampleArray(int n,                int[] elements)
        Just shows how this class can be used; samples n elements from and int[] array.
      • sampleNextElement

        public boolean sampleNextElement()
        Returns whether the next element of the input sequence shall be sampled (picked) or not.
        true if the next element shall be sampled (picked), false otherwise.
      • test

        public static void test(long n,        long N)
        Tests the methods of this class. To do benchmarking, comment the lines printing stuff to the console.
      • testArraySampling

        public static void testArraySampling(int n,                     int N)
        Tests the methods of this class. To do benchmarking, comment the lines printing stuff to the console.

SCaVis 1.7 © jWork.org