Возможно, имелся в виду алгоритм Шеннона — Фано — один из первых алгоритмов сжатия, который впервые сформулировали американские учёные Клод Шеннон и Роберт Фано. ru.wikipedia.org
Алгоритм использует коды переменной длины: часто встречающийся символ кодируется кодом меньшей длины, редко встречающийся — кодом большей длины. ru.wikipedia.org
Процесс работы алгоритма включает следующие шаги: www.geeksforgeeks.org
- Для заданного набора символов создают список вероятностей или подсчётов частоты, чтобы была известна относительная частота встречаемости каждого символа. en.wikipedia.org www.geeksforgeeks.org
- Список символов сортируют в порядке убывания вероятности: наиболее вероятные — слева, наименее вероятные — справа. www.geeksforgeeks.org
- Список делят на две части, при этом суммарные вероятности символов в обеих частях должны быть максимально близки друг к другу. www.geeksforgeeks.org ru.wikipedia.org
- Левой части списка присваивают двоичную цифру 0, а правой части — цифру 1. en.wikipedia.org www.geeksforgeeks.org Это означает, что все коды для символов в первой части будут начинаться с 0, а все коды во второй части — с 1. en.wikipedia.org
- Повторяют шаги 3 и 4 для каждой части до тех пор, пока все символы не будут разделены на отдельные подгруппы. www.geeksforgeeks.org
Кодирование завершается, когда в каждой группе останется по одному символу. www.msiit.ru
Качество кодирования по Шеннону — Фано сильно зависит от выбора разбиений на подгруппы: чем больше разность сумм вероятностей подгрупп, тем более избыточным оказывается код. www.msiit.ru