2015-06-29 2 views
0

Как я могу получить положение элемента матрицы в виде целого числа?Позиционирующие числа в матрице

В этом случае доступ к информации о любой произвольной ячейке может быть организован на первичном ключе: id. Если используется как ключевое поле int_32, можно расположить матрицу [216 x 216] и получить квадрат со сторонами 65,5 тысяч ячеек.

ответ

1

Если вы знаете размер матрицы, вы можете перечислить все ячейки, используя, скажем, (rowNumber - 1) * columns + columnNumber, где columns - количество столбцов в матрице.

Чтобы получить rowNumber и columnNumber использовать это:

rowNumber = ((id - 1) DIV columns) + 1 
columnNumber = ((id - 1) MOD columns) + 1 

, где DIV и MOD являются целыми и деление по модулю операторов, соответственно.

+0

Как вы думаете, существует ли зависимость производительности от количества столбцов? – newpdv

+0

@newpdv: для одного вызова формулы, no. Конечно, чем больше столбцов, тем больше будет рассчитана формула. Во всяком случае, накладные расходы вычислений незначительны по сравнению с издержками хранения базы данных. – Quassnoi

Смежные вопросы