对称矩阵( 二 )


文章插图
之前恰有j个元素,即ai0,ai1,…,ai,j-1,因此有:sa[i×(i+1)/2+j]=aij③aij和sa[k]之间的对应关係:若i≥j,k=i×(i+1)/2+j0≤k<n(n+1)/2若i<j,k=j×(j+1)/2+i0≤k<n(n+1)/2令I=max(i,j),J=min(i,j),则k和i,j的对应关係可统一为:k=i×(i+1)/2+j0≤k<n(n+1)/2(3)对称矩阵的地址计算公式LOC(aij)=LOC(sa[k])=LOC(sa[0])+k×d=LOC(sa[0])+[I×(I+1)/2+J]×d通过下标变换公式,能立即找到矩阵元素aij在其压缩存储表示sa中的对应位置k 。因此是随机存取结构 。【例】a21和a12均存储在sa[4]中,这是因为k=I×(I+1)/2+J=2×(2+1)/2+1=4