Users should never need to call this if they are adding QTrees using the Semigroup This makes sure no element in the tree has count less than the total count / 2k. That means after this call there are at most 2k nodes, but usually fewer.
A debug method that prints the QTree to standard out using print/println
This gives you the mean for the middle 50%-ile.
This gives you the mean for the middle 50%-ile. This probably only makes sense if the Monoid[A] is equivalent to addition in Numeric[A], which is only used to convert to Double at the end
This merges with another QTree but DOES NOT compress.
This merges with another QTree but DOES NOT compress. You should probably never use this and instead use QTreeSemigroup.plus(a, b) or .sumOption. Strongly prefer sumOption if you can, as it is much more efficient due to compressing less frequently.
give lower and upper bounds respectively of the percentile value given.
give lower and upper bounds respectively of the percentile value given. For instance, quantileBounds(0.5) would give an estimate of the median.
Return upper and lower bounds on the counts that appear in a given range
Get the bounds on the sums within a range (not percentile) This along with the rangeCountBounds can tell you the mean over a range
How many total nodes are there in the QTree.
How many total nodes are there in the QTree. Not meaningful for learning statistics, but interesting to estimate serialization size.
Total sum over the entire tree.