Оглавление:
Определение - Что означает кодирование Хаффмана?
Кодирование Хаффмана - это алгоритм кодирования данных без потерь. Процесс, лежащий в основе его схемы, включает сортировку числовых значений из набора в порядке их частоты. Наименее частые числа постепенно удаляются через дерево Хаффмана, которое добавляет две самые низкие частоты из отсортированного списка в каждую новую «ветвь». Затем сумма помещается над двумя исключенными значениями более низкой частоты и заменяет их в новом отсортированном списке., Каждый раз, когда создается новая ветвь, она перемещает общее направление дерева вправо (для более высоких значений) или влево (для более низких значений). Когда отсортированный список исчерпан, а дерево завершено, конечное значение равно нулю, если дерево закончилось на левом числе, или на единицу, если оно закончилось на правом. Это метод сведения сложного кода к более простым последовательностям, который часто применяется при кодировании видео.
Техопедия объясняет кодирование Хаффмана
Сжатие данных имеет историю, которая предшествовала физическим вычислениям. Например, азбука Морзе сжимает информацию, присваивая более короткие коды символам, которые являются статистически распространенными в английском языке (например, буквы «e» и «t»). Кодирование Хаффмана появилось в результате учебного проекта в Массачусетском технологическом институте его тогдашним студентом Дэвидом Хаффманом.
В 1951 году Хаффман брал урок у Роберта Фано, который (с помощью инженера и математика по имени Клод Шеннон) изобрел схему эффективности, известную как кодирование Шеннона-Фано. Когда Фано дал своему классу возможность написать курсовую работу или сдать итоговый экзамен, Хаффман выбрал курсовую работу, которая стремилась найти эффективный метод двоичного кодирования. Это привело к кодированию Хаффмана, которое к 1970-м годам стало известным алгоритмом цифрового кодирования.
