Как хранить двоичные данные, когда вы заботитесь только о скорости?

У меня есть N точек в измерениях D, где, скажем, N равно 1 миллиону, а D - 100. Все мои точки имеют двоичные координаты, то есть {0, 1} ^ D, и меня интересуют толькоскорость.

В настоящее время моя реализация используетstd::vector<int>, Мне интересно, смогу ли я выиграть с точки зрения более быстрого исполнения, изменив мойструктура данных, Я только делаю вставки и поиск (я не меняю биты).

Все связанные вопросы я нашел упоминаниемstd::vector<char>, std::vector<bool> а такжеstd::bitset, но все упоминают о космических выгодах, которые нужно получить, используя такие структуры.

Какова подходящая структура данных, когда скорость имеет первостепенное значение, для двоичных данных в C ++?

Я намереваюсь заполнить свою структуру данных двоичными данными, а затем выполнить много непрерывных поисков (я имею в виду, что меня не волнует i-я координата точки, если я получаю доступ к точке, я получу доступ ко всем его координаты непрерывно). Я вычислюРасстояние Хемминга между друг другом.

Ответы на вопрос(3)

Ваш ответ на вопрос