#include #include using namespace std;
#define maxsize 1024
#define elemtype int
#define status int
// 三元組
typedef struct tripletriple;
// 由三元組組成的表
typedef struct tsmatrixtsmatrix;
// 快速轉置矩陣
void fasttransposematrix(tsmatrix& m, tsmatrix& n)
; int copt[100] = ;
// 遍歷m,得到每一列有幾個元素
for (int i = 1; i <= m.tu; ++i)
// col:對應元素所在的列值;
int col;
// 第一列第乙個元素明顯為1 所以置copt[1]為1
copt[1] = 1;
// 從第二列開始,找到每列第乙個元素所對應的位置
for (col = 2; col <= m.mu; ++col)
// pos 暫時存放元素轉置後對應的位置
int pos;
// 遍歷m
for (int tmp = 1; tmp <= m.tu; ++tmp)
}return;
}int main()
fasttransposematrix(m, n);
cout << "after fast transpose the matrix's row is " << m.nu << ", col is " << m.mu << ", amount is " << m.tu << endl;
cout << "the value is " << endl;
for (int j = 1; j <= n.tu; ++j)
return 0;
}
三元組稀疏矩陣快速轉置
稀疏矩陣是只儲存非零元的行值 列值 元素值 data 0 來儲存矩陣的行數 列數 非零元個數 struct position struct list void quick transpose list l,list s 記錄每一列第乙個非零元的位置 int col num l.data 0 col ...
三元組矩陣轉置
include include define maxsize 100 非零元的最大個數 define elentype int define status int 返回值型別 define ok 1 define error 0 define overflow 1 稀疏矩陣的三元組儲存結構 type...
五 1 2 稀疏矩陣快速轉置 三元組儲存
乙個稀疏矩陣m用三元組表示,設計高效率的演算法將矩陣m轉置後得到矩陣n 1.我們先對矩陣m的順序表進行遍歷,用陣列num記錄m矩陣每一列非零元素分別有多少個,這也就是逆矩陣n每一行的非零元素有多少個.2.利用逆矩陣n每一行的非零元素有多少個這個資訊,我們就可以求出逆n矩陣中每一行非零元素在順序表中的...