Задать вопрос
Alexeytur
@Alexeytur

Есть ли возможность считать медиану выборки инкрементально?

Добрый день.
Имеется программа, получающая по сети случайные числа и считающая по ним статистику. Программа должна уметь работать продолжительное время. Проблема с вычислением медианы - согласно определению, нужно отсортировать выборку и взять значение посередине массива. То есть нужно хранить все полученные значения. Но при больших объёмах поступающих данных/долгом времени работы закончится память и программа упадёт. Есть ли выход?
  • Вопрос задан
  • 170 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Go-разработчик с нуля + нейросети
    9 месяцев
    Далее
  • Яндекс Практикум
    Алгоритмы и структуры данных
    4 месяца
    Далее
  • Skillbox
    Ал­го­рит­мы и струк­ту­ры дан­ных для раз­ра­бот­чи­ков
    3 месяца
    Далее
Решения вопроса 2
Если числа целые — можно хранить информацию о том, сколько и каких чисел поступило, а потом рассчитывать на основе этих данных медиану. Если числа не целые — можно попытаться свести их к целым.

Экспериментально можно посмотреть, сильно ли отличается медиана от среднего. Если нет — то считать среднее. Если да, то проверить — вдруг есть некая зависимость между медианой и средним, если есть, то понять какая и оценивать медиану через среднее по этой зависимости.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы