C применением кодов Хаффмана
11) gdadafghggfghababahbagggabcdcdcahhggaghhhgacagca
Рассчитаем частоты появления символов алфавита:
g = 13/48 = 0,271
d = 4/48 = 0,083
a = 12/48 = 0,25
f = 2/48 = 0,042
h = 8/48 = 0,167
b = 4/48 = 0,083
c = 5/48 = 0,104
Сформируем дерево:
Код Хаффмана символов алфавита:
X | Code |
g | |
a | |
h | |
c | |
b | |
d | |
f |
Предположим, что входной поток был байт ориентированным, тогда
Kсж = 8/ (0,271∙1 + 0,250∙2 + 0,167∙3 + 0,104∙4 + 0,083∙5 + 0,083∙6 + 0,042∙6) = 8/ 2,853 = 2,804.
Сжатие считается эффективным.
10) faaadddddbbbccbaffbbbaabbabbbabbfcadcbfababadddab
Рассчитаем частоты появления символов алфавита:
a = 13/49 = 0,265
b = 18/49 = 0,367
c = 4/49 = 0,082
d = 9/49 = 0,184
f = 5/49 = 0,102
Сформируем дерево:
Код Хаффмана символов алфавита:
X | Code |
b | |
a | |
d | |
f | |
c |
Предположим, что входной поток был байт ориентированным, тогда
Kсж = 8/ (0,367∙1 + 0,265∙2 + 0,184∙3 + 0,102∙4 + 0,082∙4) = 8/ 2,185 = 3,661.
Сжатие считается эффективным.
Сжатие «вручную» фрагмента данных с применением