![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Пользователь
Регистрация: 18.03.2009
Сообщений: 89
|
![]() Цитата:
Архиватор просто отображает один блок информации в другой, предположительно меньшего размера. И умеет делать обратное отображение. То же самое можно сделать с любыми данными в оперативке. У нас на работе, например, видел такую штуку в передаче информации по сети. Большие сетевые пакеты перед передачей архивируются зипом, передаются, а на другой стороне разархивируются. |
|
![]() |
![]() |
![]() |
#12 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 112
|
![]()
Это брэд. Нет смысла сжимать числа в диапазоне 1-10. Это же сколько их должно быть, что бы возникла проблема с размером ? Да и если их "такая куча" вполне имеет смысл хранить массив на диски и мапить в оперативку, скорость особо не просядет.
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 112
|
![]()
Алгоритмов сжатия множество, всё зависит от того, что это за данные. Если допускаются "потери" то вааще куча. Изображение - жыпиг, текст - рары всякие, логически взаимосвязанные данные - нейронные сети. Можно еще использовать GPU фишки текстурные выборки. А представление данных уходит на второй план.
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 112
|
![]()
Да еще эти Вейвлеты
![]() |
![]() |
![]() |
![]() |
#15 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
("")(Э_Є)(""), первоначальная цель этого топика - подумать над идеями. Возможно, изобрести велосипед. Пусть даже с рваной цепью и с колесом "восьмеркой".
А с уже существующими архиваторами, вроде как, никто тягаться и не собирался )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 112
|
![]()
Задачи решать лучше из реального мира, с "реальной" целью и при помощи адекватных средств. А бред каждый придумать может, вот например
![]() Код:
Код:
|
![]() |
![]() |
![]() |
#17 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
По теме. Зачем вообще что-то хранить ?
Можно просто сгенерировать случайное число. В примере класс NArray можно рассматривать как n-мерный массив. Выполняются два основных условия: - при обращении к ячейке возвращается одно и то-же значение (для каждой ячейки случайное) - для разных экземпляров класса возвращаются разные значения. Код:
|
![]() |
![]() |
![]() |
#18 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]() Цитата:
Ведь, как я понимаю, здесь предложено заполнять случайными значениями только для примера. ------------------------ ------------------------ В общем, такая идея. N-мерный массив представлен в виде одномерного (в общем, так, как обсуждали в прошлой теме). Выделяем память под новый массив из char, размером в SIZE/2 + 1, где SIZE - размер исходного массива. Потом нужно сделать таблицу битовых сопоставлений. Пусть у нас всего 10 возможных вариантов для элемента (например, числа от 0 до 9). Тогда 0 = 0000, 1 = 0001, 2 = 0010...и т.д. Каждый элемент нового массива будет таким образом хранить два элемента исходного массива. В итоге, для массива char'ов используемая память уменьшится в 2 раза, а для массива int'ов - в 8. Исходный массив можно удалить. Чтобы получить значение элемента, сначала получаем его "реальный" индекс в исходном массиве. Потом берем нужный элемент нового массива (реальный индекс / 2), отделяем нужные 4 бита и преобразуем в соответствии с таблицей. Очень лень писать функцию преобразования ![]() Но идея такая )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] Последний раз редактировалось Sazary; 09.05.2009 в 00:51. |
|
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 186
|
![]()
Я так и знал, что все сойдется на битовых преобразованиях. Сожмите еще..
Надо сжать на порядок - это цель)
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott |
![]() |
![]() |
![]() |
#20 | |
Форумчанин
Регистрация: 28.04.2009
Сообщений: 186
|
![]() Цитата:
Ruft ihm es zu durch alle Land', Der durch dies Wunder Gnade fand!
Hoch uber aller Welt ist Gott, Und Sein Erbarmen ist kein Spott |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конкурс им. Парсифаля - н-мерные массивы. | Парсифаль | Общие вопросы C/C++ | 32 | 08.05.2009 02:06 |
Отличие высокого от низкого | Shevali | Помощь студентам | 4 | 31.03.2009 20:01 |
Новый конкурс на форуме программистов | rpy3uH | Свободное общение | 113 | 01.03.2009 16:31 |
Задача по Паскалю. 1 уровень сложности. | Сергей1 | Помощь студентам | 2 | 19.11.2007 22:45 |
конкурс программистов ! (первый конкурс) | Alar | Свободное общение | 129 | 18.03.2007 00:50 |