Сначала отсортируем буквы по убыванию вероятностей: B5, B4, B3, B1, B2.Затем разделим алфавит на две части так, чтобы сумма вероятностей в каждой части была примерно равна. Получим следующее разделение: {B5, B4, B3} и {B1, B2}.Добавим к коду первой части бит "0", а ко второй части - бит "1".Проделаем те же шаги для каждой полученной части: {B5, B4, B3} и {B1, B2}.Закодированный алфавит будет следующим: B5 - 0, B4 - 10, B3 - 11, B1 - 100, B2 - 101.
Метод кодирования Хаффмена:
Построим дерево Хаффмена, начиная с самых вероятных букв: B3, B4, B5, B1, B2.B3, B4 и B5 будут иметь двоичные коды меньшей длины, чем B1 и B2.Закодированный алфавит: B3 - 0 B4 - 10 B5 - 11 B1 - 100 B2 - 101
Средняя длина кодового слова: Средняя длина = Σ(pi li), где pi - вероятность буквы i, li - длина кодового слова для буквы i. Средняя длина = (2/3 2) + (2/3 2) + (2/3 2) + (1/3 3) + (1/3 3) = 4 + 4 + 4 + 1 + 1 = 14/3 или примерно 4,67.
Метод кодирования Шеннона - Фано:
Сначала отсортируем буквы по убыванию вероятностей: B5, B4, B3, B1, B2.Затем разделим алфавит на две части так, чтобы сумма вероятностей в каждой части была примерно равна. Получим следующее разделение: {B5, B4, B3} и {B1, B2}.Добавим к коду первой части бит "0", а ко второй части - бит "1".Проделаем те же шаги для каждой полученной части: {B5, B4, B3} и {B1, B2}.Закодированный алфавит будет следующим: B5 - 0, B4 - 10, B3 - 11, B1 - 100, B2 - 101.Метод кодирования Хаффмена:
Построим дерево Хаффмена, начиная с самых вероятных букв: B3, B4, B5, B1, B2.B3, B4 и B5 будут иметь двоичные коды меньшей длины, чем B1 и B2.Закодированный алфавит:B3 - 0
B4 - 10
B5 - 11
B1 - 100
B2 - 101
Средняя длина кодового слова:
Средняя длина = Σ(pi li), где pi - вероятность буквы i, li - длина кодового слова для буквы i.
Средняя длина = (2/3 2) + (2/3 2) + (2/3 2) + (1/3 3) + (1/3 3) = 4 + 4 + 4 + 1 + 1 = 14/3 или примерно 4,67.