版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、稀疏矩阵的压缩存储(1) 稀疏矩阵的定义:在矩阵中,多数的元素为0,则称此矩阵为稀疏矩阵三元组类:/定义三元组public class Triple int row;/行号int col;/列号double val;/元素值/对各项数据进行初始化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)用三元组顺序表实现稀疏矩阵:(3)其中包括了稀疏矩阵的转置: 注:(2)(3)放到了一块import/稀疏矩阵的定义public class SparseMatrix private int rows;/行private int cols;/列private ArrayList<Triple> terms;/保存三元组/创建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("稀疏矩阵的总行数和总列数分别为:"+rows+","+cols);for(int i=0;i<terms.size();i+) System.out.print(terms.get(i);/转置 返回结果为SparseMatrix型public SparseMatrix transpose() /保存转置后的结果SparseMatrix t=new SparseMatrix(cols,rows,new ArrayLi
4、st<Triple>();if(terms.size()=0)/空矩阵return t;for(int k=1;k<=cols;k+) /列数作为最外层循环的终止条件 每次扫描原稀疏矩阵的一列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;测试稀疏矩阵的转置:/稀疏矩阵应用->转置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);/稀疏矩阵行列数分别为6,5SparseMatrix s=new SparseMatrix(6,5,list);System.out.println("未转置之前的矩阵为(只输出非零元素):");s.output();System.out.println();System.out.println("转置之后的矩阵为(只输出非零元素):");SparseMatrix ss=s.transpose();ss.output();上述测试稀疏矩阵的转置程序中定义的矩阵的向量cp
7、ot的值以及num的值:col12345numcol11411cpotcol12378(4)1结构定义:ADT SparseMatrix 数据对象:D=aij | i=1,2,m; j=1,2,.,n;aijElemset, m和n分别称为矩阵的行数和列数 数据关系: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) 操作结果:创建稀疏矩阵 output() 初始条件:稀疏矩阵已存在 操作结果:打印稀疏矩阵 transpose() 初始条件:稀疏矩阵已存在 操作结果:返回稀疏矩阵的转置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;/元素值/对各项数据进行初始化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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学语文课堂教学量化评分表
- 2026年药食同源食品与新食品原料(新资源食品)食用量标准大全
- 教育研究方法基础(第4版)教案全套 第1-12章 教育研究概述-教育研究成果表述
- 26年银发失独老人沟通技巧课件
- 26年老年上门服务难解决方案课件
- 26年居家老人机能变化科普
- 【2025】温岭市青少年宫招聘专业教师考试真题
- 【新教材】冀美版(2024)一年级下册美术第6单元 第1课 探访春天 教学设计
- 医学26年:基础性管理要点解读 查房课件
- 26年假牙适配检查指引课件
- 2025至2030创新环保产品行业产业运行态势及投资规划深度研究报告
- 高中团课考试题目及答案
- 2024年医药代表专业技能提升培训方案
- 深静脉血栓形成临床路径标准流程
- 《新媒体营销》案例 JELLYCAT
- 润燥止痒胶囊的作用
- 动态轴重称施工方案
- 2025年保安考试1000道及答案
- 2025重庆市红十字会医院(江北区人民医院)招聘考试参考题库及答案解析
- 公共场所卫生检验方法 第2部分:化学性指标-编制说明
- 商务数据分析师国家职业标准(2024版)
评论
0/150
提交评论