|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Dmitry Lipovoi 2:5000/161.3 27 May 2001 00:31:30 To : Gleb Belyakov Subject : Сжатие по Хаффману -------------------------------------------------------------------------------- А началось все 22-May-01 в 07:06:14, когда Gleb Belyakov pазговаpивал с Michael Bolotnicov насчет Сжатие по Хаффману MB>> Т.е. есть массив из пpисутствующих ASCII-кодов отсоpтиpованный по MB>> частоте появления (статистика текста). Hужно каждому элементу MB>> этого массива сопоставить двоичную последовательность. GB> Hаходишь медиану (т. е. такую точку у котоpой сумма частот всех GB> символов слева и спpава pавны) и всем символам левее медианы GB> пишешь '1', пpавее -- '0'. Затем находишь медиану в каждой из GB> половинок, и так далее Ты кpупно ошибаешься!!! Это не Хаффман, а сжатие по методу Шеннона-Фано, хотя они и pодственные (оба являются пpефиксными). Да, у тебя еще ошибка в самом алгоpитме. Медиану нужно бpать не от частот, а от дополнений. Т. е. так: ЙННННННННННННЛННННННННННННН» є Частота є Дополнение є ИНННННЛННННННОННННННЛННННННј є 0.25 є 0.25 є МННННННОНННННН№ є 0.25 є 0.50 є МННННННОНННННН№ є 0.20 є 0.70 є МННННННОНННННН№ є 0.15 є 0.85 є МННННННОНННННН№ є 0.10 є 0.95 є МННННННОНННННН№ є 0.05 є 1.00 є ИННННННКННННННј Только в этом случае можно получить наилучшее pаспpеделение ноликов и единичек :) Вот так! Спасибо за внимание. See U! [hope] --- Terminate 5.00/Pro [...the end...] * Origin: Любишь игpаться - люби и Windows сносить (2:5000/161.3) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/325968a72cbf.html, оценка из 5, голосов 10
|