unordered_map_rehash
unordered_map_rehash (std::unordered_map::rehash — 재해시)
std::unordered_map의 버킷 개수를 최소 count개 이상이 되도록 조정하는 멤버 함수예요.
출처: cppreference
본문
시그니처는 다음과 같아요.
void rehash( size_type count );
버킷 개수를 count보다 크거나 같게, 그리고 size() / max_load_factor()보다 크거나 같게 조정해서 부하율을 제한해요. 이 함수는 필요하면 전체 재해시를 수행해요.
매개변수
count: 새 버킷 개수의 하한.
복잡도
평균적으로 버킷 개수에 선형(linear)이에요. 단 최악은 O(N²)일 수 있어요.
예제
#include <iostream>
#include <unordered_map>
int main()
{
std::unordered_map<int, char> m;
m.rehash(100); // 버킷을 최소 100개로
std::cout << m.bucket_count() << '\n'; // >= 100
}
함께 보기
reserve: 원소 개수 기반으로 공간을 미리 확보해요