运算受限的线性表
数组
数组是线性表的一种推广。
二维数组a[m][n],每个元素占k个存储单元,以行序为主序的存储中,a[i][j]的位置=i*n+j,存储地址loc[i,j]=loc[0,0]+(i*n+j)*k。
矩阵的压缩存储
包括稀疏矩阵(sparse matrix)和特殊矩阵。
特殊矩阵
特殊矩阵有:三角矩阵、对称矩阵、对角矩阵。
对称矩阵:满足n阶方阵中a[i,j]=a[j,i],以行为主序存储下三角中的元素,a[i,j]的位置K:
当i>=j,即下三角中的元素,k=i(i+1)/2+j;
当i<j,即上三角中的元素,k=j(j+1)/2+i;
三角矩阵:上三角或下三角全为固定值。
上三角矩阵中前i行的元素个数=i(2n-i+1)/2。a[i,j]的位置K:
当i<=j,即上三角中的元素,k=i(2n-i+1)/2+j-i;
当i>j,即下三角中的元素,k=n(n+1)/2;
下三角矩阵中a[i,j]的位置K:
当i>=j,即下三角中的元素,k=i(i+1)/2+j;
当i<j,即上三角中的元素,k=n(n+1)/2;
稀疏矩阵
稀疏矩阵的压缩存储结构有:三元组顺序表、三元组单链接、行单链接、十字链接
1297

被折叠的 条评论
为什么被折叠?



