Это читал? по моему вполне вразумительно и на С#
http://algolist.manual.ru/compress/standard/lzw.php
- algolist.manual.ru
Это читал? по моему вполне вразумительно и на С#
http://algolist.manual.ru/compress/standard/lzw.php
c LZW вопросов нет. он понятен и реализация проста. Из-за того, что адресация словаря (слов в словаре) ограничено 1 байтом - то сжатие всего 25-30%
если делать адрес на 2 байта, то уже не рационально. Оптимально было бы 12 бит, но мороки много с переводом в байты.
сейчас пыхчу над Хаффманом, код сделал, дерево строит (визуализацию дерева проверил), но вот почему то на больших файлах (более 100кб) путь в дереве к конкретному символу занимает больше 8 бит (то есть родных для символа 1 байта). Нерационально получается.
Думал, что может кто реализовал. Кстати, Хаффман работает быстрее LZW раза в два минимум. если бы еще так сжимал :)
хотелось бы узнать на какой стадии у топикстартера реализация под mql5 алгоритма Хаффмана?
я пока портирую на mql5 этот http://studup.com.ua/blog/2011/03/19/11.html , код рабочий, да и Делфи мне попривычнее
это класс с алгоритмами Хаффмана.
сначала сделал сжатие, но из-за того, что кодируется байтами, результирующее дерево получается большим. То есть в результате кодирования файл занимает больше места чем оригинал.
поэтому обратное декодирование уже не стал дописывать, так как не увидел смысла.
если у вас получится сжимать по коду из Дельфи более компактно, то скиньте пожалста.
пока с лету не получилось код из Делфи на mql5 переписать
за код спс, посмотрю
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Други, есть ли уже у кого реализация на MQL4 / 5. (или же подробно комментированный на C++)
Мой по LZW сжимает только на 25%. А Хаффмана на больших файлах почему-то барахлит, файл получается больше чем исходный. :(Интернет хорошо прорыскал. Нашел древние варианты (паскаль и с), но писаны коряво и без коментов (к тому же проверить нет чем).
Спасибо.