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

Как лучше всего хранить коэффициенты? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу вычисления функции http://www.cyberforum.ru/cpp-beginners/thread453049.html
помогите пожалуйста
C++ Объединение 2 упорядоченных линейных списка произвольной структуры в один упорядоченный. Помогите пожалуйста с таким заданием Объединить 2 упорядоченных линейных списка произвольной структуры в один упорядоченный. http://www.cyberforum.ru/cpp-beginners/thread453048.html
матрица C++
помогите найти обратную матрицу на паскале
242+242=484 корень 22 C++
У меня невыходит создать чтобы показывало только целый корень и сумму чисел зеркальных только трехзначных может кто нибудь помоч?
C++ в чем ошибка? http://www.cyberforum.ru/cpp-beginners/thread453025.html
#include <iostream> #include <string> int main() { setlocale(LC_ALL, "Rus"); std::string str; // Получаем всю введенную строку из потока std::cin и сохраняем ее в str std::getline(std::cin, str);
C++ обращение к элементам массива символов без индексации как обратиться к элементам массива из символом не используя индексацию, а только при помощи функций библиотеки string? язык C++. заранее спасибо! :) подробнее

Показать сообщение отдельно
Stas0n
3 / 4 / 0
Регистрация: 13.07.2011
Сообщений: 313
03.03.2012, 19:17  [ТС]     Как лучше всего хранить коэффициенты?
Цитата Сообщение от Paporotnik Посмотреть сообщение
для хранения разреженных матриц методов много. одни сильно выигрывают по памяти, но уступают по скорости "распаковки", другие - наоборот.
если матрица у нас N*N и в ней k ненулевых элементов, то есть метод, позволяющий хранить 2*k значений для сохранения данных о матрице. алгоритм таков:

пусть дана матрица:
0 0 3 0 0
1 0 2 0 0
0 0 0 0 4
0 5 0 1 0
0 0 0 0 1
Заведем массив Values, в котором перечислим все значения, выбрав определенный способ обхода (по столбцам, к примеру).
Values={1,5,3,2,1,4,1}
Теперь заведем массив Coords, элементами которого будет значение i+(j-1)*n, где i-номер строки, j-номер столбца элемента из массива Values, а n-порядок матрицы. Проще говоря порядковый номер при выбранном виде обхода. Получим:
Coords={2,9,11,12,19,23,25}

Соответственно, для проверки возьмем произвольные координаты элементов: (3;4) и (4;2). Подставляем в формулу выше и получаем значения 18 и 9. Ищем эти значения в массиве coords. 18 не найдено, значит элемент нулевой. 9 найдено, значит элемент не нулевой. Берем индекс этого значения в Coords - под этим же номером в Values будет храниться значение.

Если матрица симметричная, то алгоритмы еще интереснее. А если к тому же и ленточная (все ненулевые элементы близко к диагонали), то там крайне эффективные схемы хранения есть.
Идейка очень интересная... пожалуй стоит задуматься над ее реализацией...
да и памяти тут съедается немного...

-=ЮрА=- мне же не надо хранить всю матрицу - только ее не отрицательные элементы... по этому памяти не будет так много съедаться...
что качается метода решения - вообщем то передо мной стоит задача как раз решить систему итерационным методом
 
Текущее время: 05:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru