ВУЗ:
Составители:
19
Символ Код
З 0000
А 0001
Щ 0010
И 0011
Т 0100
П 0101
Р 0110
О 0111
Г 1000
М 1001
Д 1010
Н 1011
Ы 1100
Х 1101
С 1110
ПРОБЕЛ_ 1111
В случае применения данной таблицы закодированный текст займет всего
31/2 + 1=16 байт. Экономия памяти налицо, и к тому же исходный текст спрятан
от визуального просмотра. Объем закодированного текста может быть определен
по формуле: V=b*n, где b=log
2
(k);
k - всего различных символов в тексте; n - всего символов в тексте.
В данном случае коэффициент сжатия (КС) будет рассчитываться по формуле
КС=8*n/n*log
2
(k).
Алгоритм Хаффмана
Алгоритм основан на том факте, что некоторые символы из стандартного
256-символьного набора в произвольном тексте могут встречаться чаще среднего
периода повтора, а другие, соответственно , – реже. Следовательно, если для за-
писи распространенных символов использовать короткие последовательности
бит, длиной меньше 8, а для записи редких символов – длинные, то суммарный
объем файла уменьшится . В данном случае речь будет идти о коде переменной
длины, позволяющем однозначно восстанавливать исходный текст .
Хаффман предложил очень простой алгоритм определения того, какой сим -
вол необходимо кодировать каким кодом для получения файла с длиной, очень
близкой к его энтропии (то есть информационной насыщенности). Пусть у нас
имеется список всех символов , встречающихся в исходном тексте, причем
известно количество появлений каждого символа в нем . Выпишем их вертикаль-
но в ряд в виде ячеек будущего графа. Выберем два символа с наименьшим ко -
личеством повторений в тексте (если три или большее число символов имеют
одинаковые значения , выбираем любые два из них ). Проведем от них линии вле-
во к новой вершине графа и запишем в нее значение, равное сумме частот повто -
рения каждого из объединяемых символов . Далее не будем принимать во внима-
ние при поиске наименьших частот повторения два объединенных узла (для это -
го сотрем числа в этих двух вершинах ), но будем рассматривать новую вершину
19 Символ Код З 0000 А 0001 Щ 0010 И 0011 Т 0100 П 0101 Р 0110 О 0111 Г 1000 М 1001 Д 1010 Н 1011 Ы 1100 Х 1101 С 1110 ПРОБЕЛ_ 1111 В случае применения данной таблицы закодированный текст займет всего 31/2 + 1=16 байт. Экономия памяти налицо, и к тому же исходный текст спрятан от визуального просмотра. Объем закодированного текста может быть определен по формуле: V=b*n, где b=log2 (k); k - всего различных символов в тексте; n - всего символов в тексте. В данном случае коэффициент сжатия (КС) будет рассчитываться по формуле КС=8*n/n*log2(k). Алгоритм Хаффмана Алгоритм основан на том факте, что некоторые символы из стандартного 256-символьного набора в произвольном тексте могут встречаться чаще среднего периода повтора, а другие, соответственно, – реже. Следовательно, если для за- писи распространенных символов использовать короткие последовательности бит, длиной меньше 8, а для записи редких символов – длинные, то суммарный объем файла уменьшится. В данном случае речь будет идти о коде переменной длины, позволяющем однозначно восстанавливать исходный текст. Хаффман предложил очень простой алгоритм определения того, какой сим- вол необходимо кодировать каким кодом для получения файла с длиной, очень близкой к его энтропии (то есть информационной насыщенности). Пусть у нас имеется список всех символов, встречающихся в исходном тексте, причем известно количество появлений каждого символа в нем. Выпишем их вертикаль- но в ряд в виде ячеек будущего графа. Выберем два символа с наименьшим ко- личеством повторений в тексте (если три или большее число символов имеют одинаковые значения, выбираем любые два из них). Проведем от них линии вле- во к новой вершине графа и запишем в нее значение, равное сумме частот повто- рения каждого из объединяемых символов. Далее не будем принимать во внима- ние при поиске наименьших частот повторения два объединенных узла (для это- го сотрем числа в этих двух вершинах), но будем рассматривать новую вершину
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »