Для подсчёта целых чисел в больших наборах данных могут использоваться, например, следующие методы:
- Длинная арифметика. 1 Позволяет выполнять арифметические операции над числами, разрядность которых превышает длину машинного слова вычислительной машины. 1
- Арифметика произвольной точности. 1 Относится к арифметике, в которой длина чисел ограничена только объёмом доступной памяти. 1
- Оценка приблизительного числа уникальных элементов в наборе данных. 5 Такие алгоритмы, как LogLog, SuperLogLog и HyperLogLog, позволяют подсчитать это число приблизительно за один проход, если набор данных большой и не помещается в оперативную память. 5
- Использование корзин. 4 Можно взять случайную выборку данных, вычислить квантили 10% и 90% с помощью простого алгоритма сортировки, а затем сгенерировать сегменты равного размера для заполнения этого диапазона. 4
- Извлечение только нужных данных. 4 Можно использовать алгоритм выбора Тони Хоара, чтобы найти квантиль быстрее, чем сортировать все данные. 4