Class RandomPivotingStrategy

java.lang.Object
org.apache.commons.math4.util.RandomPivotingStrategy
All Implemented Interfaces:
java.io.Serializable, PivotingStrategyInterface

public class RandomPivotingStrategy
extends java.lang.Object
implements PivotingStrategyInterface, java.io.Serializable
A strategy of selecting random index between begin and end indices.
Since:
3.4
See Also:
Serialized Form
  • Constructor Summary

    Constructors 
    Constructor Description
    RandomPivotingStrategy​(RandomSource randomSource, long seed)
    Simple constructor.
  • Method Summary

    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
  • Constructor Details

    • RandomPivotingStrategy

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

    • 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