Class IntroselectControl

java.lang.Object
org.drip.graph.selection.IntroselectControl

public class IntroselectControl
extends java.lang.Object
IntroselectControl contains the Introselect-based Control Schemes to augment Quickselect. The References are:

  • Hoare, C. A. R. (1961): Algorithm 65: Find Communications of the ACM 4 (1) 321-322
  • Knuth, D. (1997): The Art of Computer Programming 3rd Edition Addison-Wesley
  • Musser, D. R. (1997): Introselect Sorting and Selection Algorithms Software: Practice and Experience 27 (8) 983-993
  • Wikipedia (2019): Quickselect https://en.wikipedia.org/wiki/Quickselect
  • Wikipedia (2020): Introselect https://en.wikipedia.org/wiki/Introselect




Author:
Lakshmi Krishnamurthy
  • Constructor Summary

    Constructors
    Constructor Description
    IntroselectControl​(int subPartitionReductionLimit, double subPartitionCumulativeFactor)
    IntroselectControl Constructor
  • Method Summary

    Modifier and Type Method Description
    boolean init​(int size)
    Initialize using the Array Size
    int iterationCount()
    Retrieve the Iteration Count
    boolean progressCheck​(int size)
    Check if the Sufficient Progress has occurred
    double subPartitionCumulativeFactor()
    Retrieve the Sub-partition Cumulative Factor
    double subPartitionCumulativeSize()
    Retrieve the Cumulative Sub-partition Size
    int subPartitionReductionLimit()
    Retrieve the Sub-partition Reduction Limit

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IntroselectControl

      public IntroselectControl​(int subPartitionReductionLimit, double subPartitionCumulativeFactor) throws java.lang.Exception
      IntroselectControl Constructor
      Parameters:
      subPartitionReductionLimit - Sub-partition Reduction Limit
      subPartitionCumulativeFactor - Sub-partition Cumulative Factor
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • subPartitionReductionLimit

      public int subPartitionReductionLimit()
      Retrieve the Sub-partition Reduction Limit
      Returns:
      The Sub-partition Reduction Limit
    • subPartitionCumulativeFactor

      public double subPartitionCumulativeFactor()
      Retrieve the Sub-partition Cumulative Factor
      Returns:
      The Sub-partition Cumulative Factor
    • iterationCount

      public int iterationCount()
      Retrieve the Iteration Count
      Returns:
      The Iteration Count
    • subPartitionCumulativeSize

      public double subPartitionCumulativeSize()
      Retrieve the Cumulative Sub-partition Size
      Returns:
      The Cumulative Sub-partition Size
    • init

      public boolean init​(int size)
      Initialize using the Array Size
      Parameters:
      size - The Array Size
      Returns:
      TRUE - Initialization successful
    • progressCheck

      public boolean progressCheck​(int size)
      Check if the Sufficient Progress has occurred
      Parameters:
      size - The Current Size of the Partition
      Returns:
      TRUE - Sufficient Progress has occurred