0
点赞
收藏
分享

微信扫一扫

数组和特殊矩阵

暮晨夜雪 2022-04-17 阅读 77

数组和特殊矩阵

注意下标从0/1开始

1、数组

一维数组A[0…n-1]
L O C ( a i ) = L O C ( a 0 ) + i ∗ L LOC(a_i)=LOC(a_0)+i*L LOC(ai)=LOC(a0)+iL
二维数组:行下标[0,h_1] 列下标[0,h_2]
行优先
L O C ( a i , j ) = L O C ( a 0 , 0 ) + [ i ∗ ( h 2 + 1 ) + j ] ∗ L LOC(a_{i,j})=LOC(a_{0,0})+[i*(h_2+1)+j]*L LOC(ai,j)=LOC(a0,0)+[i(h2+1)+j]L
列优先
L O C ( a i , j ) = L O C ( a 0 , 0 ) + [ j ∗ ( h 1 + 1 ) + i ] ∗ L LOC(a_{i,j})=LOC(a_{0,0})+[j*(h_1+1)+i]*L LOC(ai,j)=LOC(a0,0)+[j(h1+1)+i]L

2、压缩矩阵

2.1 对称矩阵

下三角区:k=1+2+…+(i-1)+j-1
上三角区与下三角区对称,故交换ij即可得k值

2.2 三角矩阵

下三角同上,增加一个空间存储剩余常值
上三角矩阵
k=n+(n-1)+…+(n-i+2)+(j-i+1)-1

2.3 三对角矩阵

k=(i-1)*3-1+j+2-i-1=2i+j-3
i=(k+1)/3+1
j=k-2i+3

举报

相关推荐

MATLAB:数组与矩阵

0 条评论