Министерство образования и науки Российской Федерации Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ МЕХАНИКИ И ОПТИКИ» ФАКУЛЬТЕТ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
Лабораторная №3
На тему: Статистические алгоритмы сжатия данных без потерь
по дисциплине: Информационные технологии
Выполнил: Студент группы 243 Попов Никита
Оценка:_______
Проверил: Новиков Василий Викторович Дата:__________
Подпись:_______
Санкт-Петербург 2015г.
Вариант 8
На «4» балла:
Кодирование текста алгоритмом Хаффмана.
Порядок выполнения:
-
Открыть из директории «10» текстовый файл в соответствии с вариантом.
-
Составить кодовую таблицу по алгоритму Хаффмана двумя способами:
-
на основе составленной частотной таблицы;
-
на основе известной частотной таблицы букв русского языка (см. например http://dict.ruslang.ru/freq.php?act=show&dic=freq_letters&title=%D7%E0%F1%F2%EE%F2%ED%EE%F1%F2%FC%20%E1%F3%EA%E2%20%F0%F3%F1%F1%EA%EE%E3%EE%20%E0%EB%F4%E0%E2%E8%F2%E0)
-
Вычислить коэффициент сжатия алгоритма для составленной и для известной частотных таблиц.
-
Сравнить результаты сжатия с исходным текстом (объем данных), считая, что он закодирован в: а) ASCII; б) UTF-8.
Порядок действий
1. Открываем файл 8.txt из директории «10» Содержание файла:
Высокой страсти не имея
Для звуков жизни не щадить,
Не мог он ямба от хорея,
Как мы ни бились, отличить.
Бранил Гомера, Феокрита;
Зато читал Адама Смита
И был глубокой эконом,
То есть умел судить о том,
Как государство богатеет,
И чем живет, и почему
Не нужно золота ему,
Когда простой продукт имеет.
Отец понять его не мог
И земли отдавал в залог.
2. Подсчитываем количество символов в файле (без учета регистра):
Символ |
Кол-во |
Символ |
Кол-во |
Символ |
Кол-во |
Символ |
Кол-во |
а |
21 |
и |
22 |
р |
8 |
щ |
1 |
б |
6 |
й |
3 |
с |
10 |
ы |
3 |
в |
7 |
к |
11 |
т |
25 |
ь |
6 |
г |
9 |
л |
12 |
у |
9 |
э |
1 |
д |
8 |
м |
16 |
ф |
1 |
я |
5 |
е,ё |
22 |
н |
13 |
х |
1 |
, |
9 |
ж |
3 |
о |
35 |
ц |
1 |
. |
3 |
з |
6 |
п |
4 |
ч |
4 |
; |
1 |
Символ |
Частота |
о |
35 |
т |
25 |
е |
22 |
и |
22 |
а |
21 |
м |
16 |
н |
13 |
л |
12 |
к |
11 |
с |
10 |
г |
9 |
у |
9 |
, |
9 |
р |
8 |
д |
8 |
в |
7 |
б |
6 |
з |
6 |
ь |
6 |
я |
5 |
п |
4 |
ч |
4 |
ж |
3 |
й |
3 |
ы |
3 |
. |
3 |
ф |
1 |
х |
1 |
ц |
1 |
щ |
1 |
э |
1 |
; |
1 |
Всего символов: 286 (без пробелов)
Всего видов символов: 32
Буквенных символов: 273
-
Высокий регистр: 18
-
Низкий регистр 255
Пунктуационных символов: 13
*Пробелов: 49