Для определенности назову сами символы как-нибудь:
A (0.084), B (0.168), C (0.336), D (0.0336), E (0.3784)
Алгоритм Хаффмана:
- упорядочиваем символы по возрастанию
- сливаем вместе два символа с наименьшими вероятностями, получаем составной символ с вероятностью, равной сумме вероятностей
- повторяем, пока не останется один символ
По сути это строит дерево Хаффмана, но мне рисовать весь процесс не хочется, буду писать в строчку:
D (0.0336), A (0.084), B (0.168), C (0.336), E (0.3784) - сливаем D и A, получается (D, A) с вероятностью 0.0336 + 0.084 = 0.1176
(D, A) (0.1176), B (0.168), C (0.336), E (0.3784) - сливаем (D, A) и B, получается ((D, A), B) с вероятностью 0.1176 + 0.168 = 0.2856
((D, A), B) (0.2856), C (0.336), E (0.3784) - сливаем ((D, A), B) и C, получается (((D, A), B), C) с вероятностью 0.2856 + 0.336 = 0.6216
E (0.3784), (((D, A), B), C) (0.6216) - сливаем в (E, (((D, A), B), C)), для проверки: вероятность 0.3784 + 0.6216 = 1
(E, (((D, A), B), C)) (1)
Готово! Если хочется перерисовать в виде бинарного дерева, у родителя (x, y) потомки x и у, мой вариант (для компактности он изображен немного искаженно) во вложении.
Осталось получить коды символов. Корню присваиваем пустой код, для левого потомка приписываем к коду родителя 0, для правого 1.
Получаем коды: A = 1001, B = 101, C = 11, D = 1000, E = 0.
Эффективность кодирования - это ожидаемая длина кода. Она в данном случае равна
0,084 * 4 + 0,168 * 3 + 0,336 * 2 + 0,0336 * 4 + 0,3784 * 1 = 2,0248 бит
Для сравнения, по формуле Шеннона количество информации в битах на один символ
Процесс создания мультипликационного фильма состоит из многих этапов. Сначала придумывается сюжет мультика, пишется его сценарий, где описывают поэтапно все события, которые в нем будут происходить, создаются эскизы героев. Но не всем известно, что для того чтобы такой нарисованный персонаж ожил и находился в движении в течение одной минуты, понадобится более чем полторы тысячи рисунков. Такие изображения называются кадрами. Они столь быстро меняются один за другим, что человеческие глаза воспринимают это чередование, как живую картинку. Чтобы форма объектов изменялась плавно, за одну секунду должно поменяться 12 – 16 кадров. Такой принцип имитации движения ещё называют анимацией.
Объяснение:
Думаю так
1. 1 бит
2. 1 бит
3. 8 бит
4. <, <, =, <
5. 5120 байт
6. а двоичном коде
Объяснение: