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: 원소 개수 기반으로 공간을 미리 확보해요

더 알아보기 (Learn more)

cppreference