Class RandomPivotingStrategy

    • Constructor Detail

      • RandomPivotingStrategy

        public RandomPivotingStrategy​(org.apache.commons.rng.simple.RandomSource randomSource,
                                      long seed)
        Simple constructor.
        Parameters:
        randomSource - RNG to use for selecting pivot.
        seed - Seed for initializing the RNG.
        Since:
        4.0
    • Method Detail

      • pivotIndex

        public int pivotIndex​(double[] work,
                              int begin,
                              int end)
        Find pivot index of the array so that partition and Kth element selection can be made. A uniform random pivot selection between begin and end indices.
        Specified by:
        pivotIndex in interface PivotingStrategy
        Parameters:
        work - data array
        begin - index of the first element of the slice
        end - index after the last element of the slice
        Returns:
        The index corresponding to a random uniformly selected value between first and the last indices of the array slice
        Throws:
        MathIllegalArgumentException - MathIllegalArgumentException when indices exceeds range