Для начала упорядочим вероятности по убыванию:
E={0.6;0.6;0.4;0.2;0.2}
Затем создаем дерево Хаффмена, объединяя две наименее вероятные буквы:
Складываем две наименьшие вероятности0.2 + 0.2 = 0.4
Присваиваем полученной сумме значение вероятности новой вершине в дереве. Таким образом, дерево будет следующим:
.6 / \ .4 .6 / .2 .2
Повторяем процесс объединения наименьших вероятностей:
0.2 + 0.2 + 0.4 = 0.8
/ .2 ..4
0.4 + 0.4 + 0.6 = 1
/ \ .2 ..4
Теперь присвоим коды каждой букве:
Средняя длина кода(0.61) + (0.42) + (0.23) + (0.24) + (0.6*4) = 1.8
Средняя длина кодового слова составляет 1.8 символа.
Для начала упорядочим вероятности по убыванию:
E={0.6;0.6;0.4;0.2;0.2}
Затем создаем дерево Хаффмена, объединяя две наименее вероятные буквы:
Складываем две наименьшие вероятности
0.2 + 0.2 = 0.4
Присваиваем полученной сумме значение вероятности новой вершине в дереве. Таким образом, дерево будет следующим:
.6
/ \
.4 .6
/
.2 .2
Повторяем процесс объединения наименьших вероятностей:
0.2 + 0.2 + 0.4 = 0.8
.6/ \
.4 .6
/
.2 .
.4
0.4 + 0.4 + 0.6 = 1
.6/ \
.4 .6
/ \
.2 .
.4
Теперь присвоим коды каждой букве:
E1 = 0 (0.6)E2 = 10 (0.4)E3 = 110 (0.2)E4 = 1110 (0.2)E5 = 1111 (0.6)Средняя длина кода
(0.61) + (0.42) + (0.23) + (0.24) + (0.6*4) = 1.8
Средняя длина кодового слова составляет 1.8 символа.