Описание: АРХИВНАЯ ТЕМА 2006 года |
Поиск в теме | Версия для печати |
alex_231 |
Отправлено: 25 Октября, 2018 - 04:13:28
|
Chief-Net
Покинул форум
Сообщений всего: 4688
Дата рег-ции: Окт. 2014
|
Для русского языка DTE эффективнее чем MTE, но и оно не дает нужного результата. А Хаффман показывает немного лучший результат, чем DTE.
Не уверен, что сжатие поможет, так как там по особому организован вывод текста: поинтеры указывают не на каждую строку, а на блоки строк, программа просматривает блок, отсчитывая коды окончания строк, когда достигается нужный номер, начинается копирование строки в память для вывода. Если использовать сжатие, нужно целиком извлечь блок, и в нём уже искать нужную строку, но чтобы извлечь весь блок нужно много памяти, так как есть блоки размером более 3 килобайт в plaintext.
----- Делая выбор, отбрось простое решение и выбери правильное...
|
|
|
alex_231 |
Отправлено: 26 Октября, 2018 - 03:25:53
|
Chief-Net
Покинул форум
Сообщений всего: 4688
Дата рег-ции: Окт. 2014
|
Нет, я же написал: программа читает последовательность без записи в память, пока не найдет нужный код окончания строки и только потом начинает запись, а со сжатием так не получится, так как для его реализации нужно, чтобы распакованные данные хранились в памяти и были доступны для копирования при повторении (я про LZ-подобные алгоритмы).
Подробно, как оно работает:
- всего в игре 88 блоков текста (с поинтерами), в каждом блоке по 32 строки (кроме последнего - в нём 4);
- при выводе у программы есть номер блока и номер строки в блоке (как они хранятся я особо не разбирался, но это и не нужно, так как перекодировать систему хранения событий в планы не входит);
- чтобы вывести нужную строку программа (используя граф Хаффмана) читает блок по поинтеру и при чтении считает количество кодов окончания строки, как только количество совпадает с номером строки начинается запись в память (которая прекращается по коду окончания);
- далее записанная строка обрабатывается программой построения надписи в окне диалога (расставляются автоматические переносы и обрабатываются управляющие коды) и текст выводится на экран.
----- Делая выбор, отбрось простое решение и выбери правильное...
|
|
|
|
Поиск в теме | Версия для печати |
Страниц (10): « 1 2 3 4 [5] 6 7 8 9 ... » В конец |
Сейчас эту тему просматривают: 7 (гостей: 7, зарегистрированных: 0) |
« Переводы » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|