Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
636.18 Кб
Скачать

10. Кодирование информации.

Информация для целей ее машинного хранения и обработки всегда должна быть представлена в строго определенной форме. Поиски простых и экономичных способов представления информации с помощью последовательностей знаков приводят к вопросам кодирования информации и кодам.

Кодировка, или код, позволяет осуществлять переход от одной заданной системы представления рассматриваемой информации в виде знаков и последовательностей знаков к другому представлению той же информации также в виде знаков и их последовательностей. Кодирование – процедура присвоения объекту кодового обозначения.

Код строится на базе алфавита, состоящего из букв, цифр и других символов. Код характеризуется:

  • Длиной – число позиций в коде.

  • Структурой – порядок расположения в коде символов, используемых для обозначения классификационного признака.

Выделяют 2 группы методов используемых, в системе кодирования, которые образуют:

  • Классификационную систему кодирования – ориентированную на проведение предварительной классификации объектов либо на основе иерархической, либо на основе фасетной системы.

  • Регистрационную систему кодирования – не требующую предварительной классификации объектов.

11. Сжатие данных методом Хаффмана.

Сжатие (архивация) данных – это процесс преобразования данных, хранящихся в файле к виду, при котором уменьшается избыточность в ее представлении и соответственно требуется меньший объем памяти для хранения.

Сжиматься могут как один, так и несколько файлов, которые в сжатом виде помещаются в так называемый архивный файл или архив.

Метод Хаффмена

Позволяет однозначно построить код с наименьшей средней длиной, приходящейся на символ.

Суть способа Хаффмена для двоичного кода сводится к следующему: символы встречающиеся в файле, выписывают в столбец в порядке убывания вероятностей. Два последних символа объединяют в один с суммарной вероятностью. Из полученной новой вероятности и вероятностей новых символов, не использованных в объединении, формируется новый столбец в порядке убывания вероятностей, а две последние вновь объединяются. Это продолжается до тех пор пока не останется одна вероятность, равная сумме всех вероятностей всех символов, встречающихся в файле.

По данной таблице строится кодовое дерево: Из точки соответствующей сумме всех вероятностей, направляются две ветви. Ветви с большей вероятностью присваивается единица, с меньшей – вероятностью нуль. Далее последовательно продолжается процесс разветвления дерева, пока мы не доходим до вероятности каждого символа.

После того как дерево построено, двигаясь по кодовому дереву сверху вниз, мы можем записать для каждого символа соответствующий код.

Для того чтобы обеспечить однозначное декодирование необходимо строить код так чтобы ни одна комбинация кода не совпадала с началом более длиной комбинации. Если код удовлетворяет этому условию, то он называется префиксным. Коды, построенные методом Шеннона – Фано или Хаффмена, являются префиксными.