資料結構:陣列,稀疏矩陣,矩陣的壓縮。應用:矩陣的轉置,矩陣相乘
稀疏矩陣
三元組順序表用於儲存壓縮後的稀疏矩陣
- 順序儲存表示
#define MAXSIZE 125000//設定非零元素的最大個數為125000
typedef struct{
int i;//元素行號
int j;//元素列號
Element e;//元素值
}Tripe;
typedef struct {
Tripe data[MAXSIZE+1];
int mu;//總行數
int nu;//總列數
int tu;//非零元個數
}TsMatrix;
三元組表的順序儲存結構
typedef struct {
Tripe data[Maxsize+1];
int nu;//矩陣總列數
int mu;//矩陣總行數
int tu;//矩陣中非零元素的個數
}TSMatrix
typedef struct{
int i;
int j;
Elementtype e;
}Tripe;
帶輔助向量的三元組
主要用途
- 便於高效訪問稀疏矩陣中任一非零元素
i | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
NUM(i) | ||||||
POS(i) |
- 其中NUM用於儲存每列非零元的個數
- POS用來記錄每列第一個非零元素在新三元組中的位置
pos(1)=1
pos(i)=pos(i-1)+NUM(i-1)
//稀疏矩陣的轉置
演算法思路:
1.將每個三元組中i和j互相調換,再排序,但排序的時間複雜度
至少為o(tu^2)
2.依次從小到大找到最小的i,再轉置
3.利用三元組的輔助向量精確放置轉置後的元素
輔助元素的求解
NUM[i]表示第i列中的非零元素的個數
POS[i]表示第i列第一非零元素在新的三元組中行數
//求解過程如下
POS[1]=1;
for(int i=1;i<=M.tu;i++)
num[M.data[i].j]++;//求解列的NUM值
for(int i=2;i<=M.nu;i++)
POS[i]=POS[i-1]+NUM[i-1];//求解POS的值
全部演算法展示
int FastTransposeSMatrx(TSMatirx M,TSMatirx *T)
{
int col;
int *NUM,*POS;
NUM=(int *)malloc((M.nu+1)*sizeof(int));
POS=(int *)malloc((M.nu+1)*sizeof(int));//動態陣列
T.mu=M.nu;T.nu=M.mu;T.tu=M.tu;
if(T.tu)
{
for(col=1;col<=M.nu;col++)NUM[col]=0;
for(int i=1;i<=M.tu;i++)NUM[M.data[i].j]++;
}//這裡實際是在判斷了T.tu非空
POS[1]=1;
for(int i=2;i<=M.nu;i++)
POS[i]=POS[i-1]+NUM[i-1];
for(int p=1;p<=M.tu;P++)
{
col=M.data[p].j;
q=POS[col];
T.data[q].i=M.data[p].j;
T.data[q].j=M.data[p].i;
T.data[q].e=M.data[p].e
POS[col]++;
}
return 0;
}
相關文章
- 矩陣相乘矩陣
- 稀疏矩陣矩陣
- 資料結構之陣列和矩陣--矩陣&不規則二維陣列資料結構陣列矩陣
- 資料結構(一)-稀疏矩陣資料結構矩陣
- 矩陣轉置矩陣
- 巨大的矩陣(矩陣加速)矩陣
- 矩陣和陣列矩陣陣列
- 鄰接矩陣、度矩陣矩陣
- 奇異矩陣,非奇異矩陣,偽逆矩陣矩陣
- 求任意矩陣的伴隨矩陣矩陣
- 矩陣置0矩陣
- 置換矩陣矩陣
- 矩陣矩陣
- 【scipy 基礎】--稀疏矩陣矩陣
- 機器學習中的矩陣向量求導(五) 矩陣對矩陣的求導機器學習矩陣求導
- 演算法-陣列與矩陣演算法陣列矩陣
- THREE 矩陣優先原則和平移旋轉矩陣矩陣
- 稀疏矩陣之三元組壓縮儲存並且轉置矩陣
- 矩陣乘法矩陣
- 螺旋矩陣矩陣
- 8.6 矩陣?矩陣
- 找矩陣矩陣
- 海浪矩陣矩陣
- 矩陣分解矩陣
- 理解矩陣矩陣
- 快手矩陣管理平臺,矩陣管理有方法矩陣
- zip矩陣轉至矩陣
- 伴隨矩陣和逆矩陣的關係證明矩陣
- python兩個三階矩陣相乘Python矩陣
- python輸入詳解(陣列、矩陣)Python陣列矩陣
- 第四章:多維陣列和矩陣 ------------- 4.8 子矩陣的最大累加和陣列矩陣
- 演算法學習:矩陣快速冪/矩陣加速演算法矩陣
- 矩陣:如何使用矩陣操作進行 PageRank 計算?矩陣
- LeetCodeHot100 73. 矩陣置零 54. 螺旋矩陣 48. 旋轉影像 240. 搜尋二維矩陣 IILeetCode矩陣
- 矩陣求逆矩陣
- 雅可比矩陣矩陣
- leetcode:螺旋矩陣LeetCode矩陣
- 矩陣快速冪矩陣