Сложность операций HashMap: put, get, remove?

Ответ

Амортизированная O(1), в худшем случае O(log n) (Java 8+) или O(n) (Java 7).

Разбор: В среднем благодаря равномерному распределению хешей операции выполняются за амортизированную O(1); деградация наступает при множестве коллизий в одном бакете. В Java 8+ длинная цепочка превращается в дерево, давая O(log n) в худшем случае, а в Java 7 оставался связный список с O(n). Гарантии строгого O(1) нет: коллизии существуют, а деревизация включается лишь при превышении порога (8 элементов), не сразу.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться