//稀疏矩陣三元組順序表儲存表示
//楊鑫
#include #include #define maxsize 100
typedef int elemtype;
typedef struct
triple;
typedef struct
tsmatrix;
// 建立稀疏矩陣m
int createsmatrix(tsmatrix *m)
{ int i,m,n;
elemtype e;
int k;
printf("請輸入矩陣的行數, 列數, 非零元素個數:(以逗號隔開)\n");
scanf("%d,%d,%d", &(*m).mu, &(*m).nu, &(*m).tu);
(*m).data[0].i=0;
for(i = 1; i <= (*m).tu; i++)
{ do
{ printf("請按行序輸入第 %d 個非零元素的行( 1 ~ %d )," "列 ( 1 ~ %d ),元素值:(以逗號隔開)\n", i , (*m).mu, (*m).nu);
scanf("%d,%d,%d", &m, &n, &e);
k=0;
if(m < 1 || m > (*m).mu || n < 1 || n > (*m).nu)
k=1;
if(m < (*m).data[i-1].i || m == (*m).data[i-1].i && n
稀疏矩陣壓縮儲存(C語言實現)
在乙個矩陣中,如果非0元素遠遠少於0元素,那麼這個矩陣就是稀疏矩陣,在實際應用中,計算機會耗費大量的空間儲存這些無意義的0元素,如果能夠壓縮一下,將會減少計算機的開銷。本篇文章以五子棋的棋局儲存為背景,用c語言實現原始稀疏矩陣轉換為壓縮矩陣並且儲存為檔案,棋局覆盤則讀取檔案將壓縮矩陣轉換為原始稀疏矩...
經典資料結構之稀疏矩陣
資料的儲存形式,不外乎鍊錶和類陣列兩種。使用二維陣列儲存矩陣,如果該矩陣是稀疏的,那麼會浪費很多空間。例如乙個4 4的對角陣,很明顯,只有主對角線上才有元素。那麼使用二維陣列儲存需要16個單位的 儲存空間。然而通過定義乙個結構體 templatestruct sdatatype 然後將其存放於陣列,...
資料結構 稀疏矩陣
稀疏矩陣 矩陣中有效資料的個數遠遠小於無效資料的個數,則可以稱之為稀疏矩陣 如果還像以前那樣將每個稀疏矩陣的資料都儲存起來,則會造成記憶體的很大程度的浪費,所以應用特別的儲存方式。稀疏矩陣的壓縮儲存 使用 三元組儲存每乙個有效資料,三元組按原矩陣中的位置,以行優先順序先後順序依次存放。矩陣的轉置 將...