информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / theory
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Люди, объясните на пальцах суть кода Хаффмена! 05.06.01 12:45  
Автор: dickhead Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Никак не могу врубиться! Вроде все делаю по алгоритму, но назвать получающийся код эффективным язык не поворачивается. Может кто пришлет человеческое описание???
если ты про сжатие Хаффмена то... 05.06.01 15:05  
Автор: XR <eXtremal Research> Статус: The Elderman
Отредактировано 05.06.01 15:11  Количество правок: 2
<"чистая" ссылка>
суть заключается в кодировании часто встречающихся символов кодом меньшей
длины (чем чаще встречается символ тем меньшим количеством бит он закодирован) - алгоритм как правило сводится к построению "дерева Хаффмена"
на таком же принципе основано кодирование Шеннона-Фано и арифметическое кодирование (последнее считается наиболее эффективным)
subj ищется по кейворду .... правильно :) "Haffman encoding"

Haffman encoding
спасибо, конечно... 07.06.01 12:16  
Автор: dickhead Статус: Незарегистрированный пользователь
<"чистая" ссылка>
XR, это все замечательно, но исходники на С мне много не расскажут(туповат я для этого). Про сжатие Шеннона-Фэно я слыхал/делал/знаю, а вот с Хаффманом ничего кроме деревьев найти не могу. А, спрашивается, каким, извините, образом они строятся???
спасибо, конечно... 10.06.01 23:12  
Автор: Dmit Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> XR, это все замечательно, но исходники на С мне много не
> расскажут(туповат я для этого). Про сжатие Шеннона-Фэно я
> слыхал/делал/знаю, а вот с Хаффманом ничего кроме деревьев
> найти не могу. А, спрашивается, каким, извините, образом
> они строятся???

Дык, считаешь вероятность каждой кодируемой последовательности (напрмер, каждого кодируемого байта), и строишь такое двоичное дерево, чтобы сумма произведений вероятности последовательности на длину пути на дереве до представляющего ее листа была минимальной.

Например, у нас 4 возможных последовательности (символа): a, b, c, и d
Нам надо закодировать строку aadaabaaacdaaadadaaa (20 символов). Каждый символ может быть представлен 2 битами, итого 40 бит.

Если построить дерево с такими листьями:
a - 0
b - 110
c - 111
d - 10
то строка будет закодирована как 0-0-10-0-0-110-0-0-0-111-10-0-0-0-10-0-10-0-0-0
итого 28 бит
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach