现在的位置: 首页 > 综合 > 正文

unordered_set::load_factor – C++ Reference

2011年10月26日 ⁄ 综合 ⁄ 共 1177字 ⁄ 字号 评论关闭
文章目录

unordered_set::load_factor - C++ Reference

public member function

std::unordered_set::load_factor

<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

抱歉!评论已关闭.