Для начала упорядочим вероятности по убыванию:
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 .2/.4
0.4 + 0.4 + 0.6 = 1
/ \ .2 .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 .2
/
.4
0.4 + 0.4 + 0.6 = 1
.6/ \
.4 .6
/ \
.2 .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 символа.