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

Массивы большой размерности - C++

Восстановить пароль Регистрация
 
jlw
6 / 6 / 0
Регистрация: 30.09.2010
Сообщений: 18
14.11.2010, 04:26     Массивы большой размерности #1
Всем привет! Подскажите пожалуйста, как правильно хранить двумерные массивы из сотен тысяч элементов? Особенно интересует, как правильно поступать при решении задач, в которых память на выполнение ограничена (например, на сайте _acm.timus.ru).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2010, 04:26     Массивы большой размерности
Посмотрите здесь:

Массив размерности n+m C++
9. Матрица произвольной размерности, представленная раз* мерностями и динамическим массивом указателей на динамиче* ские массивы - строки матрицы. C++
C++ Динамическими массивы: Объявление, использование, изменение размерности
C++ Решение СЛАУ большой размерности методом сопряженных градиентов
Большой двумерный массив C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
14.11.2010, 04:36     Массивы большой размерности #2
jlw, Это откуда ж такие массивы? Ну самое экономное вроде как хранить в виде одномерного массива.
jlw
6 / 6 / 0
Регистрация: 30.09.2010
Сообщений: 18
14.11.2010, 05:33  [ТС]     Массивы большой размерности #3
Например, задачи на графах, матрица смежности для графа с 10000 вершин. Как лучше поступить в таком случае?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
14.11.2010, 05:42     Массивы большой размерности #4
jlw, Можно использовать не матрицу смежности к примеру...

А так...

C++
1
2
3
const int n=10000;
int* Arr;
Arr=new int[n*n];
NightmareZ
 Аватар для NightmareZ
1336 / 559 / 37
Регистрация: 31.03.2009
Сообщений: 1,907
14.11.2010, 05:52     Массивы большой размерности #5
Цитата Сообщение от jlw
Массивы большой размерности
Размерность и размер - принципиально разные вещи. У тебя не большая размерность, а большой размер.

Цитата Сообщение от ForEveR Посмотреть сообщение
Ну самое экономное вроде как хранить в виде одномерного массива.
Да ничего оно не экономное.

Цитата Сообщение от jlw Посмотреть сообщение
как правильно поступать при решении задач, в которых память на выполнение ограничена (например, на сайте _acm.timus.ru).
В таких задачах правильно не решать "в лоб", а мозгой подумать. На то память и ограничена.

Цитата Сообщение от jlw Посмотреть сообщение
матрица .... 10000 вершин
Никто не заставляет выделять память одним монолитным блоком. Выдели много небольших кусков. Указатели на куски храни в массиве.
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,669
14.11.2010, 06:16     Массивы большой размерности #6
Цитата Сообщение от ForEveR Посмотреть сообщение
jlw, Это откуда ж такие массивы? Ну самое экономное вроде как хранить в виде одномерного массива.
Многомерный массив в памяти хранится как одномерный. Размеры по каждой размерности существуют только в исходном коде.
Хохол
Эксперт C++
 Аватар для Хохол
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
18.11.2010, 14:35     Массивы большой размерности #7
Цитата Сообщение от jlw Посмотреть сообщение
массивы из сотен тысяч элементов
Такие массивы вполне влезают в стандартные ограничения, храните как хотите.

Цитата Сообщение от jlw Посмотреть сообщение
матрица смежности для графа с 10000 вершин
А вот это уже 100 мегабайт как минимум - забудьте о матрице смежности. Используйте список смежности, например.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2010, 19:25     Массивы большой размерности
Еще ссылки по теме:

C++ большой тупик
C++ Матрица "большой" размерности
очень большой массив C++

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

Или воспользуйтесь поиском по форуму:
Don Vito
 Аватар для Don Vito
9 / 9 / 1
Регистрация: 22.11.2009
Сообщений: 162
22.11.2010, 19:25     Массивы большой размерности #8
Уважаемые господа!

Привидите пример пожалуйста.

НаПриМер

Есть вот столько статистических данных - 10 000 000 000.

Причем данные представляют собой массив Arr[1 000 000 000] [10];

Как посчитать мат. ожидание, найти локальные мин. макс., посчитать мат. ожид., дисперсию, СКО и т.д. по каждой размерности массива?

Как вообще нужно/можно работать с таким колличеством данных?

Заранее спасибо!
Yandex
Объявления
22.11.2010, 19:25     Массивы большой размерности
Ответ Создать тему
Опции темы

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