Проверяет знание процесса перераспределения элементов при büyumerge карте.
Эвакуация (evacuation) — это процесс переноса пар ключ-значение из старого хэш-бакета в новый при росте внутренней структуры map. Когда карта расширяется (зумируется), элементы постепенно перераспределяются по новым бакетам, чтобы равномерно распределить нагрузку и избежать коллизий.
Когда происходит:
При превышении коэффициента заполнения (load factor).
Пошагово:
Создаются новые бакеты с увеличенным размером.
При каждой операции чтения/записи эвакуируется один или несколько старых бакетов.
Старые бакеты помечаются как evacuated.
Преимущества:
Амортизированное расширение без длительных пауз.
Реализация:
Алгоритм разбивает каждый старый бакет на два новых на основе одного бита хеша.
Вывод:
Эвакуация обеспечивает плавный рост карты и поддерживает производительность.