Изменения

Перейти к: навигация, поиск

Перехеширование

14 байт добавлено, 17:50, 5 мая 2012
При закрытом типе
Для проведения перехеширования необходимо произвести <tex>\frac{4n}{3}</tex> операций <tex>Add(x)</tex>, средняя стоимость которых составляет <tex>O(1)</tex> ''(Анализ открытого хеширования, см. Т.Корман, второе издание, стр. 288)'', потратить <tex>\frac{4n}{3}</tex> операций на проход хеш-таблицы, и <tex>\frac{4n}{3}</tex> операций на удаление предыдущей таблицы. В итоге, если мы увеличим стоимость каждой операции <tex>Add(x)</tex> на <tex>6</tex>, то есть на <tex>O(1)</tex>, операция перехеширования будет полностью предоплачена. Значит, амортизационная стоимость перехеширования при открытом типе хеш-таблицы равна <tex>O(1)</tex>.
===При закрытом типехешировании===
При использовании хеширования с открытой адресацией, или [[Открытое и закрытое хеширование#Закрытое хеширование|закрытого хеширования]] , операции <tex>Add(x)</tex>, <tex>Exists(x)</tex> и <tex>Delete(x)</tex> в худшем случае работают за <tex>O(k)</tex>, где <tex>k</tex> - количество уже добавленных в таблицу элементов, поэтому перехеширование надо проводить при неполном заполнении хеш-таблицы.
Анонимный участник

Навигация