How to identify whether or not the keys in a std::unordered_map have experienced hash collisions?
std::unordered_map
That is, how to identify if any collision chaining is present?
You can use the bucket interface and its bucket_size method.
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; } }
2.1m questions
2.1m answers
60 comments
57.0k users