Is there an efficient (linear or sub quadratic) algorithm to find the division point for real numbers? For example, I have a bunch of real number on the Real line and I am looking for a point which divides the line into left and right intervals? For example [-10,-9, -6, 1, 2, 3, -11, 5, 6, 8] what point is optimal to divide this into two 'separate' group. I am open to any suitable objective function.
A median will not work for the following examples [-100, 1, 2, 3, 4, 5] should have a division point something like -50. This is not an outlier detection problem either. For example [-100, -99, -98, 1, 2, 3, 4, 5, 6, 7, 8, 9] will not admit median as an answer, but something like -50 which clearly divided the point into two clusters.
The question is really about when clustering in 1D, is there an efficiency trick to do 'general' clustering in linear or sub-quadratic time, which is equivalent to finding a point on line that divides the given points into two groups.