|
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
|
|
Есть матрица из [100000][100000] как лучше ее представить в голове компьютера)02.07.2013, 16:29. Показов 6327. Ответов 45
Метки нет (Все метки)
Всем добрый день. Решил коллективно подумать))) есть матрица из [100000][100000] в ней у меня значения 0 или 1
я представил её как char матрицу допустим если 0 это А если 1 это В занимает она в памяти 10 гигов, как сделать более компактней. Ещё осложняет ситуацию что мне к этим значениям нужно обращаться как [x][x]. Может как то можно сделать в битовом представлении такую матрицу и сжать до 8 раз или более? Кто что подскажет? пожалуйста выскажитесь по этому поводу. Добавлено через 14 минут Есть ещё мысль создать таблицу всех вариантов типа [0] = "AAAAAAAAAAAAAAAAAAAA" [1] = "AAAAAAAAAAAAAAAAAAAB" ....
0
|
|
| 02.07.2013, 16:29 | |
|
Ответы с готовыми решениями:
45
Какова конфигурация РС лучше (до 100000 рублей)?
Отгадывание числа от 0 до 100000 |
|
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
|
||
| 02.07.2013, 18:20 [ТС] | ||
|
так
vector< vector< bool > > verified( 1000000, vector<bool>( 1000000, false ) ); софтина конечно падает Добавлено через 1 минуту Имя модуля с ошибкой: MSVCR110.dll Добавлено через 5 минут Добавлено через 5 минут так то в класс к объекту запихнуть vector< bool > verified( 100000000, false ); и всё будет отлично, только как они это сделали в векторе теперь интересно
0
|
||
| 02.07.2013, 19:44 | |
|
Здесь явно напрашивается bool.
Bool - тип данных, который может принимать два возможных значения, иногда называемых правдой - true(в вашем случае 1) и ложью -false( соответственно 0). И пишешь свой массив, где каждая ячейка - это mass[i][j] = true или mass[i][j] = false
0
|
|
|
194 / 174 / 30
Регистрация: 10.07.2012
Сообщений: 800
|
|
| 02.07.2013, 20:12 | |
|
опишите конкретно задачу. готов поспорить, что хранение такого объема данных здесь излишне.
0
|
|
|
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
|
|||
| 02.07.2013, 20:45 [ТС] | |||
|
Ребята всё задача решена, конкретно была задача сделать компактней массив 01010, всем спасибо.
Добавлено через 34 секунды Добавлено через 1 минуту
0
|
|||
|
Заблокирован
|
|
| 02.07.2013, 23:20 | |
|
Вообще - если некритично время заполнения проще взять свой класс с базовым не сжатием, а malloc'ом, у него memmap будет массив в битовом виде как минималка, по ней проверять заполненность, если 0 - возвращаем 0 на гет метод, если не 0 - значение, но это достаточный бред во ВСЕХ видах если элемент массива - 8 бит, оверхед превысит это дело.
Аналогично полный бред брать boolean - он будет минимум байт, а может и весь регистр битности приложения в зависимости от опций компилятора.
0
|
|
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 03.07.2013, 00:04 | |
|
статический массив bool-ей будет занимать по байту на ячейку
vector bool-ей сжимает все восьмёрки ячеек до 1 байта vector <vector <bool> > из 100000x100000 посчитаем : 10^5 * 10^5 = 10^10 (10^10 / 8 * 1024^3) Гигабайт = 1,16415321826934814453125 GB И никакие не 10 ГБ
0
|
|
|
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
|
||
| 03.07.2013, 00:10 [ТС] | ||
|
Добавлено через 3 минуты Ребята я уже всё проверил и получилось "то что доктор прописал" ))))
0
|
||
|
Заблокирован
|
||
| 03.07.2013, 01:02 | ||
|
Как говорил один мой знакомый(не покойный ещё) писатель time critical вещей, лучшая функция - её отсутствие, и это факт, будет как минимум call-ret задержка с таким переходником в основном цикле позже, а уж если с pushf/popf - так вообще приличная...
1
|
||
|
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
|
| 03.07.2013, 03:54 | |
|
Про bitset вспоминали?
1
|
|
|
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
|
||
| 03.07.2013, 13:02 [ТС] | ||
|
0
|
||
|
|
|||
| 03.07.2013, 14:13 | |||
|
На счёт представить - юзай bitset http://www.cplusplus.com/reference/bitset/bitset/ и битовые операции
0
|
|||
|
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
|
|
| 03.07.2013, 23:29 [ТС] | |
|
0
|
|
| 03.07.2013, 23:44 | |
|
0
|
|
|
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
|
||
| 03.07.2013, 23:49 [ТС] | ||
|
0
|
||
|
Антикодер
1889 / 871 / 48
Регистрация: 15.09.2012
Сообщений: 3,091
|
||||||
| 04.07.2013, 00:01 | ||||||
|
лучше бы рассказали зачем вам это нужно, и не морочили себе и людям голову )
Просто из вашего вопроса уже очевидно, что вы совершенно не в ту степь зашли. Добавлено через 6 минут Я конечно особо не работал с матрицами, но я сильно сомневаюсь, что вам потребуется матрица больше чем 10 на 10 элементов. Добавлено через 5 минут инициализация такими цифрами уже запутывает код
массивы(матрицы) больше 255 должны настараживать разработчика.
0
|
||||||
|
|
|||
| 04.07.2013, 00:06 | |||
|
100000*100000 = 1010*8 ~ 1011 ~100 Гб какие 12? замеряю скорость, если упадёт хотя бы на 20% придётся отказаться от вектора - откажись лучше от неправильного механизма хранения данных, при котором думаю ещё и их потеря идёт.
0
|
|||
|
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
|
|
| 04.07.2013, 00:06 [ТС] | |
|
Есть вопрос + есть ответ, смысл выяснять зачем требуются такие большие матрицы? на вопрос ответил чётко уважаемый форумчанин Tulosba и его подход меня удовлетворил.
0
|
|
| 04.07.2013, 00:07 | |
|
0
|
|
|
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
|
|
| 04.07.2013, 00:08 [ТС] | |
|
100000*100000 = 10*000*000*000 байт.
0
|
|
| 04.07.2013, 00:11 | |
|
Не по теме: Ko вопрос снял, да ты прав.
0
|
|
| 04.07.2013, 00:11 | |
|
Подбор конфигурации ПК до 100000 р Сборка игрового ПК бюджет 100000 PHP-Разработчик з/п от 40000-100000 Тряска объектов на 100000 координатах Моделирование выполнения 100000 заданий Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|