Алгоритм Хаффмана:
Создать таблицу сочетаний символов и их частот в слове "мамма миа":
Создать очередь приоритетов, отсортировав таблицу по возрастанию частот.
Объединить два наименее частых символа/сочетания в новый узел суммарной частотой и добавить его обратно в таблицу.
Повторять шаги 2-3 до тех пор, пока в таблице не останется только один узел.
Построить код Хаффмана для каждого символа/сочетания, пройдя по дереву снизу вверх.
Таблица кодов Хаффмана для слова "мамма миа":
Код слова "мамма миа": 101111011001101101100110001
Алгоритм Фано:
Разбить слово "мамма миа" на отдельные символы/сочетания и отсортировать их по убыванию частот.
Разделить символы/сочетания на две части таким образом, чтобы суммарная частота в каждой части была приблизительно равной.
Присвоить коды 0 и 1 соответственно двум частям символов/сочетаний.
Повторять шаги 2-3 для каждой получившейся части, пока все символы/сочетания не будут закодированы.
Таблица кодов Фано для слова "мамма миа":
Код слова "мамма миа": 0001010011101110111010
Оба алгоритма позволяют сжимать информацию путем кодирования символов с использованием переменной длины кодов.
Алгоритм Хаффмана:
Создать таблицу сочетаний символов и их частот в слове "мамма миа":
a: 3м: 2и: 1ма: 2ам: 1мм: 1ми: 1Создать очередь приоритетов, отсортировав таблицу по возрастанию частот.
Объединить два наименее частых символа/сочетания в новый узел суммарной частотой и добавить его обратно в таблицу.
Повторять шаги 2-3 до тех пор, пока в таблице не останется только один узел.
Построить код Хаффмана для каждого символа/сочетания, пройдя по дереву снизу вверх.
Таблица кодов Хаффмана для слова "мамма миа":
a: 0м: 10и: 1100ма: 111ам: 1101мм: 11000ми: 11001Код слова "мамма миа": 101111011001101101100110001
Алгоритм Фано:
Разбить слово "мамма миа" на отдельные символы/сочетания и отсортировать их по убыванию частот.
Разделить символы/сочетания на две части таким образом, чтобы суммарная частота в каждой части была приблизительно равной.
Присвоить коды 0 и 1 соответственно двум частям символов/сочетаний.
Повторять шаги 2-3 для каждой получившейся части, пока все символы/сочетания не будут закодированы.
Таблица кодов Фано для слова "мамма миа":
а: 1м: 00и: 011ма: 010ам: 001мм: 111ми: 110Код слова "мамма миа": 0001010011101110111010
Оба алгоритма позволяют сжимать информацию путем кодирования символов с использованием переменной длины кодов.