Class RandomPivotingStrategy

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private RandomGenerator random
      Random generator to use for selecting pivot.
      private static long serialVersionUID
      Serializable UID.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int pivotIndex​(double[] work, int begin, int end)
      Find pivot index of the array so that partition and Kth element selection can be made
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Serializable UID.
        See Also:
        Constant Field Values
      • random

        private final RandomGenerator random
        Random generator to use for selecting pivot.
    • 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