Возможные дубликаты:
Реализация матрицы, которая более эффективна - с использованием массива массивов (2D) или массива 1D?
Производительность 2-мерного массива против 1-мерного массива
Я смотрел на одну из моих кодов основы молекулярной динамики моего друга, и он представил некоторые 2D-данные в виде массива 1D. Поэтому вместо того, чтобы использовать два индекса, ему нужно только отслеживать один, но делается небольшая математика, чтобы выяснить, в какой позиции он будет находиться, если бы это было 2D. Итак, в случае этого 2D-массива:
two_D = [[0, 1, 2],
[3, 4, 5]]
Он будет представлен как:
one_D = [0, 1, 2, 3, 4, 5]
Если ему нужно было знать, что находится в позиции (1,1) 2D-массива, он сделает некоторую простую алгебру и получит 4.
Есть ли повышение производительности, полученное с помощью массива 1D, а не 2D-массива. Данные в массивах можно вызывать миллионы раз во время вычислений.
Я надеюсь, что объяснение структуры данных будет ясным... если не сообщите мне, и я попытаюсь объяснить это лучше.
Спасибо:)
ИЗМЕНИТЬ Язык C