Головна

алгоритм Хафмана

  1.  алгоритм
  2.  алгоритм Blowfish
  3.  алгоритм MD4
  4.  алгоритм WaveCluster
  5.  Алгоритм автоматичного вибору кроку
  6.  Алгоритм ШПФ з основою 2.
  7.  Алгоритм ШПФ з проріджуванням по частоті.

В основі цього алгоритму лежить кодування не байтами, а бітовймі групами.

• Перед початком кодування проводиться частотний аналіз коду документа і виявляється

частота повтору кожного з зустрічаються символів.

• Чим частіше зустрічається той чи інший символ, тим меншою кількістю бітів він кодується

(Відповідно, чим рідше зустрічається символ, тим довше його кодова бітова

послідовність).

• Що утвориться в результаті кодування ієрархічна структура прикладається до

стиснутому документу як таблиці відповідності.

Приклад кодування символів російського алфавіту представлений на рис. 14.1.

Мал. 14.1. Приклад політерного кодування російського алфавіту за алгоритмом Хафмана

Як видно зі схеми, представленої на рис. 14.1, використовуючи 16 біт, можна закодувати до 256 різних символів. Однак ніщо не заважає використовувати і послідовності довжиною до 20 біт - тоді можна закодувати до 1024 лексичних одиниць (це можуть бути не символи, а групи символів, склади і навіть слова).

У зв'язку з тим, що до стиснутого архіву необхідно прикладати таблицю відповідності, на файлах малих розмірів алгоритм Хафмана малоефективний. Практика також показує, що його ефективність залежить і від заданої граничної довжини коду (розміру словника). В середньому, найбільш ефективними виявляються архіви з розміром словника від 512 до! 024 одиниць (довжина коду до 18-20 біт).




 Робота із запитами |  Робота з формами |  Робота зі сторінками доступу до даних |  Робота зі звітами |  Вправа 13.1. Створення базових таблиць |  Вправа 13.2. Створення міжтабличних зв'язків |  Вправа 13.3. Створення запиту на вибірку |  Вправа 13.5. Створення підсумкового запиту |  Теоретичні основи стиснення даних |  оборотність стиснення |

© um.co.ua - учбові матеріали та реферати