JAVA稀疏矩阵运算器
发布网友
发布时间:2022-05-24 05:56
我来回答
共3个回答
热心网友
时间:2023-10-01 09:08
2 设计
2.1 用十字链表存储稀疏矩阵
为了能有效存储稀疏矩阵的元素, 本文采用十字链表对数据进行存储, 所设计的十字链表C++语言描述如下: Typedef struct OLNode{
Int i , j ;
ElemType e;
Struct OLNode * right, * down;
}OLNode; *OLink;
Typedef struct{
OLink * rhead, * chead;
Int mu,nu,tu;
}CrossList;
2.2 稀疏矩阵相乘主要算法设计
稀疏矩阵乘法运算器的设计主要设计到稀疏矩阵的创建和相乘运算, 下面给出这两个过程的C++语言描述为:
2.2.1 稀疏矩阵的创建 Statue CreateSMatrix_OL (CrossList & M){
//创建稀疏矩阵M。
If (M) free(M);
Scanf (&m,&n,&t);
M.mu:=m; M.nu:=n; M.tu:=t;
If (! ( M.rhead=(OLink * )malloc( (m+1) * sizeof(OLink) ) ) ) exit (OVERFLOW)
If (! ( M.chead=(OLink * )malloc( (n+1) * sizeof(OLink) ) ) ) exit (OVERFLOW)
M.rhead[ ]+M.chead[ ]=NULL;
For ( scanf( & i, & j, & e); i!=0 ; scanf ( &I, & j, &e ) ){
If(! ( p=(OLNode * )malloc( sizeof (OLNode) ) ) ) exit ( OVERFLOW )
P—>i = i; p—>j=j ; p—>e=e;
If (M . rhead [ i ] = =NULL) M . rhead [ i ] = p;
Else{
For ( q = M . rhead [ i ]; ( q—>right ) && q—> right—> j < j; q = q—> right;)
p—>right =q—>right ; q—>right=p; }
热心网友
时间:2023-10-01 09:09
中文水平太差,看不懂意思。。。有图没?
热心网友
时间:2023-10-01 09:09
我也来学习下。。不过该写点注释啊。。很多变量不知道是啥。。
上面是伪代码,别拿去编译哦。。