|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.05.2009, 20:23 | #11 | |
Пользователь
Регистрация: 18.03.2009
Сообщений: 89
|
Цитата:
Архиватор просто отображает один блок информации в другой, предположительно меньшего размера. И умеет делать обратное отображение. То же самое можно сделать с любыми данными в оперативке. У нас на работе, например, видел такую штуку в передаче информации по сети. Большие сетевые пакеты перед передачей архивируются зипом, передаются, а на другой стороне разархивируются. |
|
08.05.2009, 20:48 | #12 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 112
|
Это брэд. Нет смысла сжимать числа в диапазоне 1-10. Это же сколько их должно быть, что бы возникла проблема с размером ? Да и если их "такая куча" вполне имеет смысл хранить массив на диски и мапить в оперативку, скорость особо не просядет.
|
08.05.2009, 20:52 | #13 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 112
|
Алгоритмов сжатия множество, всё зависит от того, что это за данные. Если допускаются "потери" то вааще куча. Изображение - жыпиг, текст - рары всякие, логически взаимосвязанные данные - нейронные сети. Можно еще использовать GPU фишки текстурные выборки. А представление данных уходит на второй план.
|
08.05.2009, 20:57 | #14 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 112
|
Да еще эти Вейвлеты
|
08.05.2009, 21:14 | #15 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
("")(Э_Є)(""), первоначальная цель этого топика - подумать над идеями. Возможно, изобрести велосипед. Пусть даже с рваной цепью и с колесом "восьмеркой".
А с уже существующими архиваторами, вроде как, никто тягаться и не собирался )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
08.05.2009, 22:35 | #16 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 112
|
Задачи решать лучше из реального мира, с "реальной" целью и при помощи адекватных средств. А бред каждый придумать может, вот например
Код:
Код:
|
08.05.2009, 23:00 | #17 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
По теме. Зачем вообще что-то хранить ?
Можно просто сгенерировать случайное число. В примере класс NArray можно рассматривать как n-мерный массив. Выполняются два основных условия: - при обращении к ячейке возвращается одно и то-же значение (для каждой ячейки случайное) - для разных экземпляров класса возвращаются разные значения. Код:
|
08.05.2009, 23:41 | #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. |
|
09.05.2009, 01:08 | #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 |
09.05.2009, 01:18 | #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 |