Class RandomPivotingStrategy

    • Constructor Detail

      • RandomPivotingStrategy

        public RandomPivotingStrategy​(RandomGenerator random)
        Simple constructor.
        Parameters:
        random - random generator to use for selecting pivot
    • Method Detail

      • pivotIndex

        public int pivotIndex​(double[] work,
                              int begin,
                              int end)
                       throws MathIllegalArgumentException
        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 PivotingStrategyInterface
        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 - when indices exceeds range