三元組((x,y),z)其中(x,y)表示非零元位置,z表示該座標的值
由於實際操作時,我們所用的矩陣0非常多,所以乙個乙個輸入值很浪費時間,也浪費空間,所以用一些三元組表示非零元即能表示乙個矩陣
三元組稀疏矩陣表示一些圖也是很不錯的選擇
這樣就很浪費空間,三元組直接
((0,1),1)
((1,2),1)
((3,4),1)
((5,6),1)
((7,8),1)
#include #include#include#define smax 1000
using namespace std;
typedef struct
spnode; //定義三元組型別
typedef struct
spmatrix;
void printmatrix(spmatrix m);
spmatrix creatematrix()
cout < num;
for(int k = 1; k <= num; k++)
return m;
}int i***ist(spmatrix m,spnode a)
spmatrix mul(spmatrix m1,spmatrix m2)
else
}return result;
}int main()
cout<
getchar();
getchar();
system("cls");
}while(1 == num|| 2 == num || 3 == num ||4 == num);
return 0;
}
稀疏矩陣(三元組順序表實現)
定義了乙個稀疏矩陣類,有轉置和相乘,相加三個功能,主要是熟悉稀疏矩陣的三元組順序表儲存的一些操作,和一般的矩陣不同的地方,兩個轉置的演算法,第乙個是較容易想到的,書上管它叫 按需點菜 法,就是按一開始列的順序,乙個個轉為新矩陣中行的順序。第二個叫作 按位就坐 法,就是條件兩個輔助陣列,確定每一列中第...
實現稀疏矩陣 採用三元組表示 的基本運算
實驗題目 實現稀疏矩陣 採用三元組表示 的基本運算 實驗目的 領會稀疏矩陣三元組的儲存結構及其基本演算法設計 實驗內容 假設n x n的稀疏矩陣a採用三元組表示,設計乙個程式,實現如下功能 1 生成如下兩個稀疏矩陣的三元組a和b。1 0 3 0 3 0 0 0 0 1 0 0 0 4 0 0 0 0...
稀疏矩陣的三元組順序儲存
該資料結構的操作主要是陣列的相加 和相乘,這兩個演算法全是我個人所寫,絕無參考,經測試應該少有bug a.h include define false 0 define true 1 define ok 1 define error 0 define max size 100 typedef int...