140
Глава 11. HashMap
Если мы уроним башни, как это показано стрелками, то каждая
из них заполнит пространство перед следующей башней. В ре-
зультате получается равномерная высота в две единицы; таким
образом видно — средняя работа на один вызов put составляет
около двух единиц. А это значит, что в среднем put выполняется
за постоянное время.
Эта диаграмма также показывает, почему важно удваивать ко-
личество подкарт k при увеличении хеш-таблицы. Если произ-
вести сложение вместо умножения, то башни будут находиться
слишком близко друг к другу и начнут нагромождаться. И дей-
ствие не будет выполняться за постоянное время.
Компромиссные решения
Мы показали, что containsKey, get и remove выполняются за по-
стоянное время, и put — в среднем метод постоянного ...