РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
290 of 815 menu

Метод load_factor

Метод load_factor класса unordered_map возвращает текущий коэффициент загрузки контейнера. Коэффициент загрузки - это отношение количества элементов в контейнере к количеству корзин (buckets). Метод не принимает параметров и возвращает значение типа float. Чем выше этот показатель, тем больше коллизий возникает при поиске, вставке и удалении элементов.

Синтаксис

map.load_factor()

Пример

Давайте создадим unordered_map, добавим в него несколько элементов и выведем текущий коэффициент загрузки:

#include <iostream> #include <unordered_map> using namespace std; int main() { unordered_map<int, string> map; map[1] = "abcde"; map[2] = "12345"; map[3] = "hello"; cout << map.load_factor() << endl; return 0; }

Результат выполнения кода:

0.1875

Пример

Давайте сравним коэффициент загрузки до и после вызова метода reserve, который увеличивает количество корзин:

#include <iostream> #include <unordered_map> using namespace std; int main() { unordered_map<int, string> map; map[1] = "abcde"; map[2] = "12345"; map[3] = "hello"; cout << "Before: " << map.load_factor() << endl; map.reserve(100); cout << "After: " << map.load_factor() << endl; return 0; }

Результат выполнения кода:

"Before: 0.1875" "After: 0.00585938"

Смотрите также

  • класс unordered_map,
    который представляет собой хеш-таблицу
  • метод bucket_count,
    который возвращает количество корзин
  • метод rehash,
    который изменяет количество корзин
  • метод reserve,
    который резервирует место под элементы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить