unordered_set::load_factor - C++ Reference

本文详细解释了C++中unordered_set容器的load_factor概念,包括其计算方式、影响因素以及如何通过成员函数获取当前load_factor值。了解load_factor有助于优化哈希表性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值