Форум программистов, компьютерный форум CyberForum.ru

Есть матрица из [100000][100000] как лучше ее представить в голове компьютера) - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
02.07.2013, 16:29     Есть матрица из [100000][100000] как лучше ее представить в голове компьютера) #1
Всем добрый день. Решил коллективно подумать))) есть матрица из [100000][100000] в ней у меня значения 0 или 1
я представил её как char матрицу допустим если 0 это А если 1 это В занимает она в памяти 10 гигов, как сделать более компактней. Ещё осложняет ситуацию что мне к этим значениям нужно обращаться как [x][x]. Может как то можно сделать в битовом представлении такую матрицу и сжать до 8 раз или более? Кто что подскажет? пожалуйста выскажитесь по этому поводу.

Добавлено через 14 минут
Есть ещё мысль создать таблицу всех вариантов типа
[0] = "AAAAAAAAAAAAAAAAAAAA"
[1] = "AAAAAAAAAAAAAAAAAAAB"
....
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:16  [ТС]     Есть матрица из [100000][100000] как лучше ее представить в голове компьютера) #41
и как же мне правильно сохранить 10 миллиардов значений в памяти?

Добавлено через 4 минуты
C++
1
2
    bool aaa = true;
    cout <<"aaa: "<< sizeof(aaa)<<endl; 1 байт в памяти
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
04.07.2013, 00:20     Есть матрица из [100000][100000] как лучше ее представить в голове компьютера) #42
Цитата Сообщение от Ko Посмотреть сообщение
и как же мне правильно сохранить 10 миллиардов значений в памяти?
http://www.cplusplus.com/reference/b...bitset/bitset/
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:20  [ТС]     Есть матрица из [100000][100000] как лучше ее представить в голове компьютера) #43
я имел массив 12 гигов в памяти, сейчас взял записал каждую линейку значений по 160000 в класс(была матрица 160000 на 160000) , и получилось что моя матрица может быть хоть 10 млн. на 10 млн. я уже пробывал и рад что есть такой сайт где мы можем обмениваться опытом) всем спасибо.
У меня теперь возник вопрос как извлекать в файл vector<bool> все 100000 значений разом и потом поднимать, если кто может что ни будь придумать правильное))) пожалуйста выскажитесь.
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:23  [ТС]     Есть матрица из [100000][100000] как лучше ее представить в голове компьютера) #44
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
vector<bool> мне пока кажется по приятней)

Добавлено через 1 минуту
я хочу пока что не выходить за пределы bool , как то понятно и удобно
XRuZzz
04.07.2013, 01:06
  #45

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение

Не по теме:

- т.е скриншот экрана 1024х768 должен меня насторожить?

естественно, зачем вам такое большое разрешение

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2013, 18:49     Есть матрица из [100000][100000] как лучше ее представить в голове компьютера)
Еще ссылки по теме:

C++ Даны 2 стека, присоединить хвост второго к голове первого
Чем лучше открывать .h .И есть ли какие то рекомендации и предостережения в работе с ними? C++
Игра на С++. Как лучше представить дорогу? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ko
 Аватар для Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 18:49  [ТС]     Есть матрица из [100000][100000] как лучше ее представить в голове компьютера) #46
Если кому интересно то скажу что провёл тесты и скорость снизилась на 5.6%-9% это как бы приемлемо, видимо внутри вектора где то тормозится.

Добавлено через 57 секунд
У меня есть места где можно оптимизировать программу так что думаю эти 5-10% можно будет отжать))
Yandex
Объявления
04.07.2013, 18:49     Есть матрица из [100000][100000] как лучше ее представить в голове компьютера)
Ответ Создать тему
Опции темы

Текущее время: 18:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru