【发布时间】:2010-11-29 19:12:24
【问题描述】:
可能的重复:
Implementing a matrix, which is more efficient - using an Array of Arrays (2D) or a 1D array?
Performance of 2-dimensional array vs 1-dimensional array
前几天我正在查看我朋友的一个分子动力学代码库,他将一些二维数据表示为一维数组。因此,他不必使用两个索引,只需要跟踪一个索引,但需要进行一些数学运算来确定如果它是 2D 它将处于什么位置。所以在这个二维数组的情况下:
two_D = [[0, 1, 2],
[3, 4, 5]]
它可以表示为:
one_D = [0, 1, 2, 3, 4, 5]
如果他需要知道二维数组的 (1,1) 位置是什么,他会做一些简单的代数并得到 4。
使用一维数组而不是二维数组是否有任何性能提升。数组中的数据在计算过程中可以被调用数百万次。
我希望数据结构的解释清楚......如果不让我知道,我会尝试更好地解释它。
谢谢你:)
编辑 语言是C
【问题讨论】:
-
二维数组的实现取决于语言。你可以在这里得到一些好的答案:stackoverflow.com/questions/732684/… 和这里:stackoverflow.com/questions/1242705/…
标签: c performance arrays