.()k = (i) (主对角线左下角即i=j+)
k = (i)+ (主对角线上即i=j)
k = (i)+ (主对角线上即i=j)
由以上三式得 k=(i)+j (?ij?n; ?k?n)
()*(*)
稀疏矩阵A采用二维数组存储时需要n*n个存储单元完成求Σaii(<=i<=n)时由于a[i][i]随机存取速度快但采用三元组表时若非零元素个数为t需(t+)个存储单元(第一个分量中存稀疏矩阵A的行数列数和非零元素个数以后t个分量存各非零元素的行值列值元素值)比二维数组节省存储单元但在求Σaii(<=i<=n)时要扫描整个三元组表以便找到行列值相等的非零元素求和其时间性能比采用二维数组时差
特殊矩阵指值相同的元素或零元素在矩阵中的分布有一定规律因此可以对非零元素分配单元(对值相同元素只分配一个单元)将非零元素存储在向量中元素的下标i和j和该元素在向量中的下标有一定规律可以用简单公式表示仍具有随机存取功能而稀疏矩阵是指非零元素和矩阵容量相比很小(t<<m*n)且分布没有规律用十字链表作存储结构自然失去了随机存取的功能即使用三元组表的顺序存储结构存取下标为i和j的元素时要扫描三元组表下标不同的元素存取时间也不同最好情况下存取时间为O()最差情况下是O(n)因此也失去了随机存取的功能
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []