![稀疏矩陣的壓縮存儲_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/13a90486-6186-45bc-bf4d-1be4dbfcb52a/13a90486-6186-45bc-bf4d-1be4dbfcb52a1.gif)
![稀疏矩陣的壓縮存儲_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/13a90486-6186-45bc-bf4d-1be4dbfcb52a/13a90486-6186-45bc-bf4d-1be4dbfcb52a2.gif)
![稀疏矩陣的壓縮存儲_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/13a90486-6186-45bc-bf4d-1be4dbfcb52a/13a90486-6186-45bc-bf4d-1be4dbfcb52a3.gif)
![稀疏矩陣的壓縮存儲_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/13a90486-6186-45bc-bf4d-1be4dbfcb52a/13a90486-6186-45bc-bf4d-1be4dbfcb52a4.gif)
![稀疏矩陣的壓縮存儲_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/13a90486-6186-45bc-bf4d-1be4dbfcb52a/13a90486-6186-45bc-bf4d-1be4dbfcb52a5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、稀疏矩陣的壓縮存儲(1) 稀疏矩陣的定義:在矩陣中,多數(shù)的元素為0,則稱此矩陣為稀疏矩陣三元組類:/定義三元組public class Triple int row;/行號int col;/列號double val;/元素值/對各項數(shù)據(jù)進行初始化public Triple(int row,int col,double val) this.row=row;this.col=col;this.val=val;public String toString() /輸出三元組項return "("+row+","+col+","+val+&qu
2、ot;)"(2)用三元組順序表實現(xiàn)稀疏矩陣:(3)其中包括了稀疏矩陣的轉(zhuǎn)置: 注:(2)(3)放到了一塊import/稀疏矩陣的定義public class SparseMatrix private int rows;/行private int cols;/列private ArrayList<Triple> terms;/保存三元組/創(chuàng)建public SparseMatrix(int rows,int cols,ArrayList<Triple> t) / TODO Auto-generated constructor stubthis.rows=rows;
3、this.cols=cols;terms=t;/輸出public void output() System.out.println("稀疏矩陣的總行數(shù)和總列數(shù)分別為:"+rows+","+cols);for(int i=0;i<terms.size();i+) System.out.print(terms.get(i);/轉(zhuǎn)置 返回結果為SparseMatrix型public SparseMatrix transpose() /保存轉(zhuǎn)置后的結果SparseMatrix t=new SparseMatrix(cols,rows,new ArrayLi
4、st<Triple>();if(terms.size()=0)/空矩陣return t;for(int k=1;k<=cols;k+) /列數(shù)作為最外層循環(huán)的終止條件 每次掃描原稀疏矩陣的一列for(int j=0;j<terms.size();j+) /都取出來了Triple x=(Triple)terms.get(j);if(x.col=k)/如果x是第k列的元素t.terms.add(new Triple(k,x.row,x.val);/行列互換 值不變/if/forreturn t;測試稀疏矩陣的轉(zhuǎn)置:/稀疏矩陣應用->轉(zhuǎn)置importpublic cla
5、ss Matrix public static void main(String args) ArrayList<Triple> list=new ArrayList<Triple>();/輔助SparseMatrix的構造器list.add(new Triple(1,3,3);list.add(new Triple(1,4,6);list.add(new Triple(2,3,-9);list.add(new Triple(3,1,8);list.add(new Triple(3,3,4);list.add(new Triple(3,5,6);list.add(new
6、 Triple(4,2,8);list.add(new Triple(5,3,-3);/稀疏矩陣行列數(shù)分別為6,5SparseMatrix s=new SparseMatrix(6,5,list);System.out.println("未轉(zhuǎn)置之前的矩陣為(只輸出非零元素):");s.output();System.out.println();System.out.println("轉(zhuǎn)置之后的矩陣為(只輸出非零元素):");SparseMatrix ss=s.transpose();ss.output();上述測試稀疏矩陣的轉(zhuǎn)置程序中定義的矩陣的向量cp
7、ot的值以及num的值:col12345numcol11411cpotcol12378(4)1結構定義:ADT SparseMatrix 數(shù)據(jù)對象:D=aij | i=1,2,m; j=1,2,.,n;aijElemset, m和n分別稱為矩陣的行數(shù)和列數(shù) 數(shù)據(jù)關系:R=Row,Col Row=<ai,j , ai,j+1> | 1<=i<=m, 1<=j<=n-1 Col= <ai,j
8、 , ai+1,j> | 1<=i<=m-1, 1<=j<=n 基本操作: SparseMatrix(int rows,int cols,ArrayList<Triple> t) 操作結果:創(chuàng)建稀疏矩陣 output() 初始條件:稀疏矩陣已存在 操作結果:打印稀疏矩陣 transpose() 初始條件:稀疏矩陣已存在 操作結果:返回稀疏矩陣的轉(zhuǎn)置ADT SparseMatrix 2稀疏矩陣的存儲結構的定義:class SparseMatrix private int rows;/行private int cols;/列private ArrayList<Triple> terms;/保存三元組 三元組Triple:public class Triple int row;/行號int col;/列號double val;/元素值/對各項數(shù)據(jù)進行初始化public Triple(int row,int col,double val) this.row=row;this.col=col;this.val=val;public String toString() /輸出三元組項return "("+row+","+col+","+val+")&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度辦公室翻新與餐飲店改造設計施工合同
- 二零二五年度城市公共安全報警系統(tǒng)電路升級改造合同
- 提取公積金借款合同
- 銷售抵押合同
- 電商零售平臺開發(fā)合同
- 個人理財指南
- 農(nóng)產(chǎn)品公共檢測與溯源體系建設作業(yè)指導書
- 質(zhì)量管理工具與方法應用作業(yè)指導書
- 平面設計聘用合同
- 2025年廣西貨運考試題目
- 2025年山東省煙臺市中考模擬考試語文試題(含解析)
- 人教版八年級下冊物理期末考試試卷及答案
- 2024-2030年汽車啟停電池市場運行態(tài)勢分析及競爭格局展望報告
- 新高考物理一輪復習重難點練習專題32 光的干涉、衍射和偏振 電磁波(原卷版)
- 《項脊軒志》 高中語文
- 第十三屆中等職業(yè)學校技能大賽(導游服務賽項)理論考試題庫(含答案)
- 2023-2024學年五年級下冊數(shù)學青島版小升初測評卷(五四學制)
- 2024年陜西省中考語文試題
- 北京海淀人大附2025屆高一數(shù)學第二學期期末監(jiān)測試題含解析
- ALC板施工施工方案及工藝要求
- 漂流規(guī)劃設計方案
評論
0/150
提交評論