Для закодирования слова "пропеллер" алгоритмом Хаффмана, сначала нужно сделать подсчет частоты встречаемости каждой буквы в слове:
п - 1р - 2о - 1е - 2л - 2
Затем строим дерево Хаффмана:
Суммируем два наименьших числа (1 + 1 = 2) и объединяем буквы "п" и "о":по - 2р - 2е - 2л - 2
Снова суммируем два наименьших числа (2 + 2 = 4) и объединяем буквы "по" и "р":пор - 4е - 2л - 2
Снова суммируем два наименьших числа (2 + 2 = 4) и объединяем буквы "е" и "л":ел - 4пор - 4
Суммируем две оставшиеся буквы:елпор - 8
Теперь можно закодировать каждую букву:
п - 00о - 01р - 10е - 110л - 111
И, следовательно, слово "пропеллер" закодировано алгоритмом Хаффмана следующим образом: 0001110111010111110.
Для закодирования слова "пропеллер" алгоритмом Хаффмана, сначала нужно сделать подсчет частоты встречаемости каждой буквы в слове:
п - 1
р - 2
о - 1
е - 2
л - 2
Затем строим дерево Хаффмана:
Суммируем два наименьших числа (1 + 1 = 2) и объединяем буквы "п" и "о":
по - 2
р - 2
е - 2
л - 2
Снова суммируем два наименьших числа (2 + 2 = 4) и объединяем буквы "по" и "р":
пор - 4
е - 2
л - 2
Снова суммируем два наименьших числа (2 + 2 = 4) и объединяем буквы "е" и "л":
ел - 4
пор - 4
Суммируем две оставшиеся буквы:
елпор - 8
Теперь можно закодировать каждую букву:
п - 00
о - 01
р - 10
е - 110
л - 111
И, следовательно, слово "пропеллер" закодировано алгоритмом Хаффмана следующим образом: 0001110111010111110.