Рекомендую книгу «Методы сжатия данных.Устройство архиваторов, сжатие изображений и видео» Ватолин Д., Ратушняк А. Там описаны практически все популярные методы сжатия, она вам сильно поможет. Также рекомендую сайт compression.ru
Что-то статья слабоватенькая, практически не о чем. Почему забыли про арифметическое сжатие? Оно намного эффективнее кодов Хаффмана. А где про кодирование расстояниями, которое эффективнее MTF? А где про ppm кодирование? А где про алгоритмы которые начинаются на LZ, в частности LZW? Можно было также что-то сказать про примитивное RLE сжатие, и т. д.
Помните Буран который сам летал в космос? Так вот программа которая управляла им была написана на языке очень похожим на пролог, т. е. как бы был создан специализированный пролог.
У меня тоже был такой, со временем вставил музыкальный сопроцессор и подключил дисковод и принтер. Сколько я на нем всего напеределывал, даже две игры на асме написал. Помню была такая операционка is-Dos, не шла она на робике, пришлось взломать и кое-что добавить, и только тогда is-Dos заработала. Также в робике была строено дополнительное ОЗУ на 16 Кб, в которое можно было заливать оригинальное ПЗУ Спектрума, этим решались проблемы с совместимостью для многих игрушек (переключению шло через команду OUT 15,0, и работало только помоему на 3-й версии робика)
такой вопрос, а если в конце сжимать не с помощью lzma, а как в PNG — Deflate, на сколько будет разница? А что если вместо deflate в png применить lzma?
Вот что пишет Джеффри Рихтер в своей книге «Программирование на платформе Microsoft .NET Framework» стр.160:
Кроме того, CLR ведет себя довольно свободно, принимая решение о вызове кон-
структора типа. CLR вызывает конструктор типа в одном из следующих случаев.
• Прямо перед созданием первого экземпляра типа или перед первым обраще-
нием к полю или члену класса, не унаследованному от предка. Это называется
точной семантикой, поскольку CLR вызывает конструктор типа именно в тот
момент, когда он необходим.
• В любое время перед первым обращением к статическому полю, не унаследо-
ванному от предка. Это семантика с заблаговременной инициализацией поля,
так как CLR гарантирует лишь то, что статический конструктор будет испол-
нен до обращения к статическому полю, возможно, задолго до него.
По умолчанию компиляторы сами выбирают семантику, наиболее подходящую
для вашего типа, и информируют CLR о выборе, устанавливая в метаданных флаг
b e f o r e f i e l d i n i t .
Так что мой пример сработает всегда, так как идет создание конструктора, хотя возножно нужно будет еще добавить вызов какого-нить члена класса для большей гарантии, но это я уже писал выше.
Так что мой пример сработает всегда, так как идет создание конструктора, хотя возножно нужно будет еще добавить вызов какого-нить члена класса для большей гарантии, но это я уже писал выше.