Package smile.sort
Class FloatHeapSelect
java.lang.Object
smile.sort.FloatHeapSelect
This class tracks the smallest values seen thus far in a stream of values.
This implements a single-pass selection for large data sets. That is,
we have a stream of input values, each of which we get to see only once. We
want to be able to report at any time, say after n values, the i-th smallest
value see so far.
-
Constructor Summary
ConstructorDescriptionFloatHeapSelect
(float[] heap) Constructor.FloatHeapSelect
(int k) Constructor. -
Method Summary
-
Constructor Details
-
FloatHeapSelect
public FloatHeapSelect(int k) Constructor.- Parameters:
k
- the heap size.
-
FloatHeapSelect
public FloatHeapSelect(float[] heap) Constructor.- Parameters:
heap
- the array to store smallest values to track.
-
-
Method Details
-
add
public void add(float datum) Assimilate a new value from the stream.- Parameters:
datum
- a new value.
-
peek
public float peek()Returns the k-th smallest value seen so far.- Returns:
- the k-th smallest value seen so far.
-
get
public float get(int i) Returns the i-th smallest value seen so far. i = 0 returns the smallest value seen, i = 1 the second largest, ..., i = k-1 the last position tracked. Also, i must be less than the number of previous assimilated.- Parameters:
i
- the ordinal index of smallest values.- Returns:
- the i-th smallest value.
-
sort
public void sort()Sort the smallest values.
-