Взвешенной медиана выборки составляет 50% взвешенный процентиль (см this post @ crossvalidated for more info)/Найти работает взвешенную медиану из потока значений и весов
мне было интересно, как можно было бы расширить алгоритм, используемый, чтобы найти медиану бегущий поток чисел, подробный here (с двумя кучами, кучей минут для левой стороны и максимальной кучей для правой стороны), чтобы эффективно вычислять взвешенную медиану из потока значений double
и веса.
Одна из моих идей заключалась в том, чтобы использовать тот же метод, что и при вычислении медианы из невзвешенного потока чисел, но просто вводить дополнительные значения, если веса не являются одними (например, значение с весом 2 будет вставлено дважды). Однако это не очень хорошо масштабируется с весами, которые могут быть удвоены, а также, по-видимому, неэффективны.
Спасибо!