數(shù)據(jù)結(jié)構(gòu)稀疏矩陣的表示和轉(zhuǎn)置(共3頁)_第1頁
數(shù)據(jù)結(jié)構(gòu)稀疏矩陣的表示和轉(zhuǎn)置(共3頁)_第2頁
數(shù)據(jù)結(jié)構(gòu)稀疏矩陣的表示和轉(zhuǎn)置(共3頁)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)結(jié)構(gòu)實驗報告實驗四 稀疏矩陣的表示和轉(zhuǎn)置一、 實驗?zāi)康?. 掌握稀疏矩陣的三元組順序表存儲結(jié)構(gòu)2. 掌握稀疏矩陣的轉(zhuǎn)置算法。二、 實驗內(nèi)容采用三元組表存儲表示,求稀疏矩陣M的轉(zhuǎn)置矩陣T。 (算法5.1) 三、 實驗步驟:1. 構(gòu)建稀疏矩陣M。2. 求稀疏矩陣M的轉(zhuǎn)置矩陣T。3. 輸出稀疏矩陣M和稀疏矩陣T。四、 算法說明首先要創(chuàng)建稀疏矩陣的三元組順序表存儲表示,定義mu,nu,tu分別表示矩陣的行數(shù)、列數(shù)和非零元個數(shù)。在進行稀疏矩陣的轉(zhuǎn)置時要做到(1):將矩陣的行列值相互交換;(2):將每個三元組的i,j相互調(diào)換;(3):重排三元組之間的次序便可實現(xiàn)矩陣的轉(zhuǎn)置。

2、五、測試結(jié)果六、 分析與探討在此次程序中轉(zhuǎn)置的方法稱為快速轉(zhuǎn)置,在轉(zhuǎn)置前,應(yīng)先求得M的每一列中非零元的個數(shù),進而求得每一列的第一個非零元的位置。七、 附錄:源代碼數(shù)據(jù)結(jié)構(gòu)實驗報告源代碼列在附錄中,要求程序風格清晰易理解,有充分的注釋。有意義的注釋行不少于30%。 #include <stdio.h>#define MAXSIZE 5#define MAXMN 200typedef structint i,j;int e;Triple;typedef structTriple dataMAXSIZE;int rposMAXMN;int mu,nu,tu;/矩陣的行數(shù)、列數(shù)和非零元個數(shù)

3、TSMatrix; /行邏輯連接的順序表int main()printf("矩陣Mn");TSMatrix M,T;printf("i j vn");int i;for(i=0;i<MAXSIZE;i+)scanf("%d %d %d",&M.datai.i, &M.datai.j, &M.datai.e);printf("請輸入矩陣M的行數(shù)mu,列數(shù)nu,及非零元的個數(shù)tun");scanf("%d %d %d",&M.mu, &M.nu, &am

4、p;M.tu);/求稀疏矩陣M的轉(zhuǎn)置矩陣TT.mu=M.nu; T.nu=M.mu; T.tu=M.tu;if(T.tu)int t, column, numMAXMN=0; /用來統(tǒng)計M中每列非零元的個數(shù)for(t=0;t<M.tu;t+)+numM.datat.j;T.rpos0=0; for(column=1;column<T.mu;column+) T.rposcolumn=T.rposcolumn-1+numcolumn-1; int p, q;for(p=0;p<M.tu;p+)column=M.datap.j;q=T.rposcolumn;T.dataq.i=M.datap.j;T.dataq.j=M.datap.i;數(shù)據(jù)結(jié)構(gòu)實驗報告T.dataq.e=M.datap.e;T.rposcolumn+; /轉(zhuǎn)置矩陣T中同一行的非零元的起始位置自增1 /輸出矩陣M及轉(zhuǎn)置矩陣Tprintf("n矩陣T:n");printf("i j vn");for(i=0;i<T.tu;i+)printf("%d %d %dn"

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論