矩阵的存储顺序:按行优先存储 vs. 按列优先存储

涉及到在计算机中使用矩阵时,首先会碰到存储矩阵的问题。因为计算机存储空间是先后有序的,如何存储A[m*n]的m*n个元素是个问题,一般有两种:按行优先存储和按列优先存储。

row-major:存成a11,a12,...,amn的顺序。
     PASCAL, C/C++,, Python语言中,数组按行优先顺序存储。
     行优先顺序推广到多维数组,可规定为先排最右的下标。
column-major:存成a11,a21,...,amn的顺序。
    FORTRAN语言,Matlab中,数组按列优先顺序存储。
    列优先顺序推广到多维数组,可规定为先排最左的下标。

For example:
序列 A = [1,2,3,4],用Matlab 和 Python 分别reshape为2*2大小:
Matlab中 reshape(A, [2 2]), 得到 [[1 3] [2 4]]
Python中 A.reshape(2,2),    得到[[1 2] [3 4]]
 

Ref:

http://en.wikipedia.org/wiki/Row-major_order

http://www.cnblogs.com/soroman/archive/2008/03/21/1115571.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值