Предмет: Информатика, автор: AyeHeyviSoon

Помогите, пожалуйста, с решением задания или объясните тему с сжатием с использованием словаря, примеры, как выполнять это задание. Буду очень благодарен.

Приложения:

Ответы

Автор ответа: dastanraifild
4

Ответ:

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

Давай к примеру рассмотрим использование сжатия на основе словаря:

Исходная строка данных: "ABABABABAABABABA"

Шаги сжатия:

1. Создаем начальный словарь, который может быть пустым или содержать начальные символы:("A": 1, "B": 2)

2. Проходимся по строке данных слева направо: - A уже есть в словаре, поэтому добавляем следующий символ B, получаем AB и присваиваем ему новый код 3.

3. Строка данных теперь стала "3ABABA3ABABA".

4. Продолжаем дальше:

- "3A" уже есть в словаре, поэтому добавляем следующий символ "B", получаем "3AB" и присваиваем ему новый код "4".

- "4AB" уже есть в словаре, добавляем "A", получаем "4ABA" и присваиваем код "5".

- "5AB" уже есть в словаре, добавляем "A", получаем "5ABA" и присваиваем код "6".

5. Строка данных теперь стала "634634".

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

б. С учётом пробелов содержит 65 байт.

с. Давай для создания словаря сжатия, будем использовать то же сообщение "Я живу в Казахстане, я родился в Казахстане, замечательно жить в Казахстане." и будем сопоставлять каждому уникальному символу или последовательности символов код.

1. Создаем словарь сопоставления символов и кодов:

- "Я" - 1

- " " (пробел) - 2

- "живу" - 3

- "в" - 4

- "Казахстане," - 5

- "я" - 6

- "родился" - 7

- "замечательно" - 8

- "жить" - 9

- "."

2. Теперь заменяем исходное сообщение на последовательность кодов: "163492548639458."

3. Рассчитываем размер словаря сжатия в байтах:

- Размер каждого кода - 1 байт.

- Размер словаря - это количество уникальных символов или последовательностей символов, которым мы присвоили коды. В нашем случае - 10.

Суммируем размеры кодов и размер словаря:

10 кодов * 1 байт + 10 байт (размер словаря) = 20 байт.

Выходит размер словаря сжатия будет составлять 20 байт.

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

e. К сожалению не понял вопроса.

f. Сжатие на основе словаря не является сжатием с потерями. Оно сохраняет всю информацию в данных и позволяет восстановить их точно так, как были до сжатия.

Объяснение:

Извини дальше уже помочь не смогу, удачи!


AyeHeyviSoon: Спасибо большое
dastanraifild: Рад что смог помочь, если тебе не сложно поставь пожалуйста самый лучший ответ.
dastanraifild: Буду благодарен.
AyeHeyviSoon: Поставил
NebotanLol: Спасибо
Похожие вопросы
Предмет: Алгебра, автор: 11375