Код Хаффмана для последовательности символов

Построение кодов Хаффмана для последовательности символов.

Эта страница существует благодаря следующим персонам

Timur

Timur

Создан: 2019-01-29 10:52:38, Последнее изменение: 2020-11-03 14:19:36
Creative Commons Attribution/Share-Alike License 3.0 (Unported)

Этот материал распространяется на условиях лицензии Creative Commons Attribution/Share-Alike License 3.0 (Unported). Это означает, что вы можете размещать этот контент на своем сайте или создавать на его основе собственный (в том числе и в коммерческих целях), при условии сохранения оригинального лицензионного соглашения. Кроме того, Вы должны отметить автора этой работы, путем размещения HTML ссылки на оригинал работы https://planetcalc.ru/8087/. Пожалуйста оставьте без изменения все ссылки на других авторов данной работы или работы, на основе которой создана данная работа (если таковые имеются в спроводительном тексте).

В принципе уже есть калькулятор Код Хаффмана, который рассчитывает коды Хаффмана для заданной вероятности символов, однако, как показала практика, студентам задания формируют в виде

Дана строка:beadbdddbaddaecbde. Определить коды встречающихся букв (код Хаффмана). Закодировать исходную строку построенным кодом.

В принципе, всё, что нужно для использования калькулятора по ссылке выше, это по строке составить таблицу встречаемости символов, и внести эту таблицу в калькулятор. Ну то есть, если взять процитированный пример, надо посчитать банально, сколько раз встречается символ b, символ e, символ a, символ d и символ c. Однако мне не жалко, я могу и код написать, который это сделает за студента. Ну в самом деле, вдруг человек ошибется, не так посчитает, или там пропустит пару букв.

В общем, в калькулятор ниже вводите свою строку - получаете ту же строку, но закодированную кодом Хаффмана и таблицу символов: сколько раз встретился символ в строке, какую частоту это дает в процентах от общего количества символов и код Хаффмана для каждого символа.

Если нужна теория, см. статью Код Хаффмана.

PLANETCALC, Код Хаффмана для последовательности символов

Код Хаффмана для последовательности символов

Закодированная последовательность символов
 
Файл очень большой, при загрузке и создании может наблюдаться торможение браузера.

Ссылка скопирована в буфер обмена
PLANETCALC, Код Хаффмана для последовательности символов

Комментарии