временные комплексы hashmap - PullRequest
0 голосов
/ 07 апреля 2011

Какова временная сложность итерации хеш-карты в среднем случае? Я думаю, что его O(n)

Какова временная сложность map.get(key); Я думаю, что O(1)

Ответы [ 3 ]

4 голосов
/ 07 апреля 2011

Из документации , которая должна быть вашим первым портом вызова:

Эта реализация обеспечивает постоянную производительность для основных операций (получение и сдача), предполагая, чтоХэш-функция правильно распределяет элементы по сегментам.Итерации по представлениям коллекции требуют времени, пропорционального «емкости» экземпляра HashMap (количество сегментов) плюс его размер (количество отображений ключ-значение).Таким образом, очень важно не устанавливать слишком высокую начальную емкость (или слишком низкий коэффициент загрузки), если важна производительность итерации.

2 голосов
/ 07 апреля 2011

O(1), которая в нормальном случае постоянна, , если они не сталкиваются

См. Также

1 голос
/ 07 апреля 2011

Из API:

Эта реализация обеспечивает постоянную производительность для основных операций (получение и сдача), предполагая, что хеш-функция правильно распределяет элементы между сегментами. Итерации по представлениям коллекции требуют времени, пропорционального «емкости» экземпляра HashMap (количество сегментов) плюс его размер (количество отображений ключ-значение). Таким образом, очень важно не устанавливать слишком высокую начальную емкость (или слишком низкий коэффициент загрузки), если важна производительность итерации.

...