熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構 5.10 三元組順序表

2013-11-15 15:21:12  來源: 數據結構 

  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)


From:http://tw.wingwit.com/Article/program/sjjg/201311/23282.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.