unordered_set::load_factor - C++ Reference
public member function
<unordered_set>
float load_factor() const noexcept;
Return load factor
Returns the current load factor in the unordered_set container.
The load factor is the ratio between the number of elements in the container (its size) and the number of buckets (bucket_count):
load_factor = size / bucket_count
The load factor influences the probability of collision in the hash table (i.e., the probability of two elements being located in the same bucket). The container automatically increases the number of buckets to keep the load factor below a specific threshold (its max_load_factor), causing a rehash each time an expansion is needed.
To retrieve or change this threshold, use member function max_load_factor.
Parameters
none
Return Value
The current load factor.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| // unordered_set hash table stats
#include <iostream>
#include <unordered_set>
int main ()
{
std::unordered_set<int> myset;
std::cout << "size = " << myset.size() << std::endl;
std::cout << "bucket_count = " << myset.bucket_count() << std::endl;
std::cout << "load_factor = " << myset.load_factor() << std::endl;
std::cout << "max_load_factor = " << myset.max_load_factor() << std::endl;
return 0;
}
|
Possible output:
size = 0
bucket_count = 11
load_factor = 0
max_load_factor = 1 |