|
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 282
|
|
Есть матрица из [100000][100000] как лучше ее представить в голове компьютера)02.07.2013, 16:29. Показов 6802. Ответов 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,092
|
||||||
| 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 заданий Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|