Реферат: Сжатие данных
Расширяющиеся деревья были впервые описаны в 1983 году и более подpобно
рассмотрены в 1985. Первоначально они понимались как вид самосбалансиpованных
деpевьев двоичного поиска, и было также показано, что они позволяют осуществить
самую быструю реализацию приоритетных очередей. Если узел расширяющегося дерева
доступен, то оно является расширенным. Это значит, что доступный узел становится
корнем, все узлы слева от него образуют новое левое поддерево, узлы справа -
новое правое поддерево. Расширение достигается при обходе дерева от старого
корня к целевому узлу и совершении пpи этом локальных изменений, поэтому цена
расширения пропорциональна длине пройденного пути.
Тарьян и Слейтон показали, что расширяющиеся деревья статично оптимальны.
Другими словами, если коды доступных узлов взяты согласно статичному
распределению вероятности, то скорости доступа к расширяющемуся дереву и
статично сбалансированному, оптимизированному этим распределением, будут
отличаться друг от друга на постоянный коэффициент, заметный при достаточно
длинных сериях доступов. Поскольку дерево Хаффмана представляет собой пример
статично сбалансированного дерева, то пpи использовании расширения для сжатия
данных, pазмер сжатого текста будет лежать в пределах некоторого коэффициента от
размера архива, полученного при использовании кода Хаффмана.
Как было первоначально описано, расширение применяется к деревьям, хранящим
данные во внутренних узлах, а не в листьях. Деревья же кодов префикса несут все
свои данные только в листьях. Существует, однако, вариант расширения, называемый
полурасширением, который применим для дерева кодов префикса. При нем целевой
узел не перемещается в корень и модификация его наследников не производится,
взамен путь от корня до цели просто уменьшается вдвое. Полурасширение достигает
тех же теоретических границ в пределах постоянного коэффициента, что и
расширение.
В случае зигзагообразного обхода лексикографического дерева, проведение как
расширения, так и полурасширения усложняется, в отличие от прямого маршрута по
левому или правому краю дерева к целевому узлу . Этот простой случай показан на