|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.06.2010, 16:11 | #1 |
Регистрация: 26.06.2009
Сообщений: 7
|
Представление матриц.
Нужно хранить в памяти разреженную несимметричную прямоугольную матрицу.
Есть 2 варианта: 1. map<map> 2. map<pair> Второй вариант вроде предпочтительнее, т.к. он компактнее. Но - вопрос: насколько сильно усложнит такое хранение алгоритм умножения двух матриц, одна из которых транспонированная?.. Если кто может помочь советом, или уже сталкивался с такой проблемой, буду очень благодарна!
Если вы лжете компилятору, он будет мстить!
Генри Спенсер. |
04.06.2010, 17:06 | #2 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
map и pair хранят только 2 значения
|
04.06.2010, 17:16 | #3 |
Регистрация: 26.06.2009
Сообщений: 7
|
Эээм... ну да.
Поэтому и рассматриваются эти 2 способа. Чтобы хранить номер строки, номер столбца и, собственно, сам элемент матрицы. Если честно, не совсем поняла, что хотели этим сказать..
Если вы лжете компилятору, он будет мстить!
Генри Спенсер. |
04.06.2010, 19:38 | #4 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
разумнее использовать двумерный массив или векторный массив
двумерный массив: Код:
Код:
Последний раз редактировалось NiCola999; 04.06.2010 в 19:45. |
04.06.2010, 19:38 | #5 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
глюки соединения )
|
04.06.2010, 19:57 | #6 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Ну скорее что-то вроде этого:
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
07.06.2010, 12:42 | #7 |
Регистрация: 26.06.2009
Сообщений: 7
|
Насколько я знаю, если использовать vector<vector<>>, то усложняется произвольное обращение к элементу. Поэтому map и представляется более удобным... Либо, собственно, пара.
Или я ошибаюсь?
Если вы лжете компилятору, он будет мстить!
Генри Спенсер. |
07.06.2010, 12:44 | #8 |
Регистрация: 26.06.2009
Сообщений: 7
|
Двумерный массив не особо подходит потому, что в случае, если матрица разреженна, усложняется обращение к элементу. Точнее, нужно хранить еще дополнительно 2 массива, а это не есть гуд. У вектороного та же проблема.
Если вы лжете компилятору, он будет мстить!
Генри Спенсер. |
07.06.2010, 12:44 | #9 |
Регистрация: 26.06.2009
Сообщений: 7
|
К тому же, если размеры матрицы более чем 1 000 000х1 000 000...
Если вы лжете компилятору, он будет мстить!
Генри Спенсер. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка Матриц(Упорядочивание Элементов,Вывод На Экран Матриц При Условии...) | timepoka | Помощь студентам | 8 | 01.07.2011 13:20 |
Представление графов в виде матриц. | vovanrbn | Помощь студентам | 0 | 01.06.2010 10:26 |
представление группировки | Domanoff | БД в Delphi | 13 | 07.04.2010 18:09 |
Представление минимального числа (Си) | spirit_trapper | Помощь студентам | 6 | 22.12.2009 15:57 |