Изменения

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

Hashed Array Tree

48 байт убрано, 02:30, 16 июня 2014
Расход памяти
===Расход памяти===
HAT использует меньше дополнительной памяти, чем в стандартных подходах к расширению массивов, то есть полном перекопировании и перераспределении всего массива.
Затраты дополнительной памяти (уже выделенной, но еще не используемой) в самом плохом случае {{---}} <tex>(top+leaf-1) ~= 2\sqrt{N} = O(\sqrt{N})</tex> (этот случай при пустой HAT {{---}} в <tex>top</tex> один указатель на единственный пустой лист).  Если в листе будет <tex>power/2</tex> элементов, то ожидаемая трата дополнительной памяти уменьшается до <tex>(top + leaf/2) \approx 1.5\sqrt{N}</tex>. Таким образом HAT использует <tex>\Theta(\sqrt{N})</tex> дополнительной памяти. Это лучше [[wikipedia:ru:Динамический массив |динамического массива]], который использует <tex>O(N)</tex> дополнительной памяти сразу после перекопирования элементов, и лучше [[wikipedia:ru:Список (информатика) |списка]].
==Эффективность==

Навигация