Вопросы к Поиску с Алисой
Основные отличия кодирования Шеннона-Фано от алгоритма Хаффмана:
Кодирование Шеннона-Фано использует кумулятивную функцию распределения. www.tutorialspoint.com Вместо присвоения двоичных кодов символам в зависимости от их частоты, алгоритм разделяет символы на две группы, при этом каждой группе присваивается префикс для формирования кода для каждого символа. www.tutorialspoint.com Это приводит к эффективному сжатию данных, но процесс кодирования обычно происходит медленнее, чем по Хаффману. www.tutorialspoint.com
Алгоритм Хаффмана основан на подходе сверху вниз. www.tutorialspoint.com Он преобразует символы, содержащиеся в файле данных, в двоичный код. www.tutorialspoint.com Идея алгоритма состоит в том, что зная вероятности появления символов в сообщении, можно описать процедуру построения кодов переменной длины, состоящих из целого количества битов. ru.ruwiki.ru ru.wikipedia.org Символам с большей вероятностью ставятся в соответствие более короткие коды. ru.ruwiki.ru ru.wikipedia.org В отличие от алгоритма Шеннона — Фано, алгоритм Хаффмана остаётся всегда оптимальным и для вторичных алфавитов с более чем двумя символами. ru.ruwiki.ru ru.wikipedia.org