Изменения

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

Алгоритм LZSS

19 байт добавлено, 11:58, 6 ноября 2014
Пример
Пусть входной файл содержит следующую последовательность: «sid_eastman_clumsily_teases_sea_sick_seals». Для простоты предположим, что окно (желтые ячейки в таблице) состоит из 16-байтного буфера поиска и 5-байтного буфера, содержащего еще не закодированные символы. После ввода первых <math>16+5</math> символов скользящее окно выглядит так:
{| borderclass="1wikitable"
|style="background:#FFCC00" |sid_eastman_clum
|style="background:#FFCC00"|sily_
Кодер изучает буфер поиска, создавая двенадцать строк по пять символов (см. табл.) (их двенадцать, так как <math>12=16-5+1</math> ), которые помещены на двоичное дерево поиска вместе с их смещениями.
{| borderclass="1wikitable"
|-
| sid_e
В нашем примере длина совпадения равна 2, поэтому кодер выдает метку <math>\langle</math>16,2<math>\rangle</math>. Теперь кодер должен переместить скользящее окно на две позиции вправо и перестроить дерево. Новое окно выглядит следующим образом:
{| borderclass="1wikitable"
|si
|style="background:#FFCC00"|d_eastman_clumsi
Анонимный участник

Навигация