- лучший и простой или даже надежный способ хранения матричных элементов в базе данных. Более того, мне нужно умножить две матрицы и сделать операцию динамической. Так создаст ли это проблему для хранения данных?
Я начну с того, что оба подхода верны, но второго недостаточно, как вы написали. Вам нужно иметь некоторую другую информацию, например длину строк или индексы (row, col) каждого элемента, чтобы сохранить матрицу в виде одномерного массива. Обычно это делается для разреженных матриц, где по обе стороны от диагонали сгруппировано множество нулей, окружающих значения.
Сохранение матрицы в базе данных и работа с ней в памяти - это две разные вещи.
Задачи, такие как умножение, требуют (row, col) индексов. Сохранение матрицы в виде двумерного массива означает, что они будут у вас, поэтому никакой другой информации не требуется. Массив 1D также нуждается в этой информации, поэтому вам придется ее предоставить.
Преимущество заключается в массиве 1D для разреженных матриц. В этом случае вам не нужно хранить нулевые значения вне полосы пропускания, но ваши операции, такие как сложение и умножение, становятся более сложными для кода.