Finds median of an input range in O(N) time on average. In the case of an
* even number of elements, the mean of the two middle elements is returned.
* This is a convenience founction designed specifically for numeric types,
* where the averaging of the two middle elements is desired. A more general
* selection algorithm that can handle any type with a total ordering, as well
* as selecting any position in the ordering, can be found at
* dstats.sort.quickSelect() and dstats.sort.partitionK().
* Allocates memory, does not reorder input data.
Finds median of an input range in O(N) time on average. In the case of an * even number of elements, the mean of the two middle elements is returned. * This is a convenience founction designed specifically for numeric types, * where the averaging of the two middle elements is desired. A more general * selection algorithm that can handle any type with a total ordering, as well * as selecting any position in the ordering, can be found at * dstats.sort.quickSelect() and dstats.sort.partitionK(). * Allocates memory, does not reorder input data.