Implementation:
Internally holds one single contigous one-dimensional array, addressed in row major. Note that this implementation is not synchronized.
Memory requirements:
memory [bytes] = 8*rows()*columns(). Thus, a 1000*1000 matrix uses 8 MB.
Time complexity:
O(1) (i.e. constant time) for the basic operations get, getQuick, set, setQuick and size,
Cells are internally addressed in row-major. Applications demanding utmost speed can exploit this fact. Setting/getting values in a loop row-by-row is quicker than column-by-column. Thus
for (int row=0; row < rows; row++) { for (int column=0; column < columns; column++) { matrix.setQuick(row,column,someValue); } }is quicker than
for (int column=0; column < columns; column++) { for (int row=0; row < rows; row++) { matrix.setQuick(row,column,someValue); } }@author wolfgang.hoschek@cern.ch @version 1.0, 09/24/99
|
|