Как определить, испытал ли std :: unordered_map коллизии хешей?

Как определить, действительно ли ключи в std::unordered_map испытали хэш-столкновения?

То есть, как определить, присутствует ли какая-либо цепочка столкновений?

3

Решение

Вы можете использовать интерфейс ковша И его bucket_size метод.

std::unordered_map<int, int> map;
bool has_collision = false;

for(size_t bucket = 0; bucket < map.bucket_count(); bucket++) {
if(map.bucket_size(bucket) > 1) {
has_collision = true;
break;
}
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]