posibles duplicados:
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 arrayrepresentación de una matriz 2D como una matriz 1D
que estaba buscando en una de dinámica molecular de My Buddy código bases el otro día y que había representado a algunos Datos 2D como una matriz 1D. Entonces, en lugar de tener que usar dos índices, solo tiene que hacer un seguimiento de uno, pero se hace un poco de matemática para determinar en qué posición estaría si fuera 2D. Así, en el caso de esta matriz 2D:
two_D = [[0, 1, 2],
[3, 4, 5]]
Sería puede representar como:
one_D = [0, 1, 2, 3, 4, 5]
Si lo que necesitaba saber lo que había en la posición (1,1) de la matriz 2D que haría algunos álgebra simple y obtener 4.
¿Hay algún aumento en el rendimiento obtenido mediante el uso de una matriz 1D en lugar de una matriz 2D. Los datos en las matrices se pueden llamar millones de veces durante el cálculo.
Espero que la explicación de la estructura de los datos sea clara ... si no me lo diga y trataré de explicarlo mejor.
Gracias :)
EDITAR El lenguaje es C
La implementación de una matriz 2D depende del idioma. Puede obtener algunas buenas respuestas aquí: http://stackoverflow.com/questions/732684/implementing-a-matrix-which-is-more-efficient-using-an-array-of-arrays-2d-or y aquí: http://stackoverflow.com/questions/1242705/performance-of-2-dimensional-array-vs-1-dimensional-array –