키의 동등성 결정
hash가 같다고 같은 키는 아니며, equal 비교가 최종 판단을 맡는다.
해시는 키를 배열 위치로 바꾸지만 모든 키가 다른 위치로 가는 것은 아니다. 충돌과 load factor를 고려해야 조회 비용이 무너지지 않는다.
hash가 같다고 같은 키는 아니며, equal 비교가 최종 판단을 맡는다.
비슷한 문자열이나 정수 패턴이 한 버킷에 몰리면 평균 성능이 떨어진다.
많은 삽입이 예상되면 reserve로 bucket 확장을 미리 잡아 iterator 무효화와 비용을 줄인다.
std::unordered_map<int, int> freq;
freq.reserve(values.size());
for (int x : values) ++freq[x];