C++: какой алгоритм выбрать для быстрой вставки уникальных пар u64?

Для быстрой вставки уникальных пар значений типа uint64_t (u64) в C++ можно использовать хэш-таблицу (unordered_map) или ассоциативный массив (map).

1. Хэш-таблица (unordered_map):
Хэш-таблица позволяет быстро находить уникальные пары по их ключу за константное время. Для этого вы можете использовать пару как ключ в unordered_map, где первым элементом будет первое значение типа uint64_t, а вторым - второе значение типа uint64_t. Пример:

std::unordered_map<std::pair<uint64_t, uint64_t>, int> uniquePairs;
uniquePairs[{value1, value2}] = count;

2. Ассоциативный массив (map):
Ассоциативный массив также позволяет хранить уникальные пары с ключами-парами значений типа uint64_t. Однако, в отличие от хэш-таблицы, ассоциативный массив хранит элементы в отсортированном порядке по ключу, что может быть полезно в некоторых ситуациях. Пример:

std::map<std::pair<uint64_t, uint64_t>, int> uniquePairs;
uniquePairs[{value1, value2}] = count;

При выборе между хэш-таблицей и ассоциативным массивом следует учитывать следующее:
- Хэш-таблица более эффективна при поиске элементов, но может потребовать больше памяти.
- Ассоциативный массив имеет дополнительные возможности, такие как обход элементов в отсортированном порядке.

Выбор конкретной структуры данных зависит от вашего конкретного случая использования и требований к производительности вашего приложения.