数据结构

位置:IT落伍者 >> 数据结构 >> 浏览文章

数据结构 5.10 三元组顺序表


发布日期:2024年08月23日
 
数据结构 5.10 三元组顺序表

void FastTransposeSMatrix(TSMatrix M TSMatrix &T)

{

//采用三元组顺序表存储表示求稀疏矩阵M的转置矩阵T

Trows = Mcols;

Tcols = Mrows;

Tterms = Mterms;

if (Tterms) {

for (col=; col<=M cols; ++col)

num[col] = ;

for (t=; t<=M terms; ++t)

++num[Mdata[t]j];//求M中每一列所含非零元的个数

rpos[] = ;

for (col=; col<=M cols; ++col)

rpos[col] = rpos[col] + num[col];

//求T中每一行的第一个非零元在Tdata中的序号

for (p=; p<=Mterms; ++p) {//转置矩阵元素

col = Mdata[p]j; q = rpos[col];

Tdata[q]i =Mdata[p]j;

Tdata[q]j =Mdata[p]i;

Tdata[q]e =Mdata[p]e;

++rpos[col];

}//for

}//if

}//FastTransposeSMatrix

上述算法的时间复杂度为O (Mcols+Mterms)

               

上一篇:数据结构数组和广义表之矩阵的压缩存储

下一篇:数据结构 3.1.1 单链表中插入元素示例算法