![]()
|
|||
Задание 5. Задание 6. Задание 7. Справочная информация ⇐ ПредыдущаяСтр 2 из 2 Задание 5
Пользуясь кодовой страницей Windows-1251 таблицы кодировки ASCII, получить шестнадцатеричный код слова ИНФОРМАТИЗАЦИЯ. Задание 6
Во сколько раз увеличится объём памяти, необходимый для хранения текста, если его преобразовать из кодировки KOI8-R в кодировку Unicode? Задание 7
С помощью табличного процессора Excel построить кодировочную таблицу ASCII, в которой символы буду автоматически отображаться на экране в соответствии с их заданным десятичным номером (использовать соответствующую текстовую функцию). Справочная информация
Алгоритм Хаффмена. Сжатием информации в памяти компьютера называют такое её преобразование, которое ведёт к сокращению объёма ханимаемой памяти при сохранении закодированного содержания. Рассмотрим один из способов сжатия текстовой информации - алгоритм Хаффмена. С помощью этого алгоритма строится двоичное дерево, которое позволяет однозначно декодировать двоичный код, состоящий из символьный кодов различной длины. Двоичным называется дерево, из каждой вершины которого выходят две ветви. На рисунке приведён пример такого дерева, построенный для алфавита английского языка с учётом частоты встречаемости его букв. Закодируем с помощью данного дерева слово "hello": При размещении этого кода в памяти побитово он примет вид: Таким образом, текст, занимающий в кодировки ASCII 5 байтов, в кодировке Хаффмена займет 3 байта. Задание 8
Используя метод сжатия Хаффмена, закодируйте следующие слова: Задание 9
Используя дерево Хаффмена, декодируйте следующие слова:
Пример выполнения №8 m i n i s t r 00011 1010 1100 1010 0110 001 1011 - 7байт для хранения Убираем пробелы 0001110101100101001100011011 Разбиваем на байты 00011101 01100101 00110001 1011 - 4байта для хранения Вывод: текст сжат на 3 байта
Пример выполнения №9 Дан текст 00011101 01100101 00110001 1011 Убираем пробелы 0001110101100101001100011011 А дальше 2 способа – двигаться с конца (это не очень удобно), поэтому рекомендую двигаться с начала Идете по дереву пока не найдете букву 00011 (это м), значит следующий символ – это начало кода следующей буквы 1010 (и опять пришли к букве, это i), значит следующий символ – это начало кода следующей буквы 1100 (и опять пришли к букве, это n) и т.д. 00011 1010 1100 1010 0110 001 1011 m i n i s t r
|
|||
|