АЛГОРИТМЫ РАБОТЫ АРХИВАТОРОВ Использование кода переменной длины Данные, подвергающиеся сжатию, специальным образом делят на части (цепочки символов, «слова»). Для каждого «слова» определяется частота встречаемости: отношение количества повторений данного «слова» к общему числу «слов» в массиве данных. Идея алгоритма сжатия информации: кодировать наиболее часто встречающиеся «слова» кодами меньшей длины, чем редко встречающиеся «слова». Использование коэффициента повторения группы символов Такой подход используется в азбуке Морзе, где символы кодируются последовательностями точек и тире, причем чаще встречающиеся символы имеют более короткие коды ( например код часто используемой буквы «А» [ – ], код редкой буквы «Ж» [ – ] ). В отличие от кодов одинаковой длины, в этом случае возникает проблема отделения кодов букв друг от друга. В азбуке Морзе эта проблема решается с помощью «паузы» (пробела). Фактически алфавит Морзе – трехсимвольный. В двоичном коде нет специального символа-разделителя. И все же был придуман способ сжатия данных с переменной длиной «слов», не требующий символа-разделителя. Такой алгоритм называется алгоритмом Д. Хаффмена. Смысл алгоритма, основанного на этой идее, заключается в следующем: если в сжимаемом массиве данных встречается цепочка из повторяющихся групп символов, то ее заменяют парой: число (коэффициент) повторений – группа символов.