Я ищу структуру данных, которая позволила бы мне хранить 2D-матрицу M -by- N, смежно в памяти, так что расстояние в памяти между любыми двумя точками приближается к евклидову расстоянию между те точки в матрице. То есть в типичном строчном представлении в виде одномерного массива элементов M * N расстояние между памятью различается между соседними ячейками в той же строке (1) и соседними ячейками в соседних строках (N).
Мне нужна структура данных, которая уменьшает или устраняет эту разницу. Действительно, название такой структуры достаточно, я могу реализовать ее сам. Если ответы на вопросы относятся к библиотекам для такого рода вещей, это также приемлемо, но они должны использоваться с С++.
У меня есть приложение, которое должно быстро выполнять свертки изображений без аппаратного ускорения, и хотя я знаю об обычных методах оптимизации для такого рода вещей, я считаю, что специализированная структура данных или упорядочение данных могут повысить производительность.