




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
五邑大学实验报告实验课程名称数据结构院系名称: 计算机学院专业名称: 实验项目名称: 三元组的应用班级: 学号:报告人: 实验地点: 6一 实验目的1、掌握稀疏矩阵三元组表的存储、创建、显示、转置。2、了解稀疏矩阵的相关应用。二 实验内容使用三元组表存储稀疏矩阵,编写算法求它的转置矩阵。三 内容分析算法基本思想描述: 由于稀疏矩阵的非零元素较少,零元素较多,所以只需存储其非零元素。因此可以建立一个三元组表,分别保存稀疏矩阵的非零元素的行号、列号和元素值。对稀疏矩阵进行快速转置 是可以引入两个向量 numn+1,cpotn+1,分别标记矩阵中第col 列的非零元素个数和第一个 非零元素在转置后的矩阵的位置;再扫描三元组表,找到非零元素,直接对其在转置后的矩 阵所在的位置上进行修改,以节省时间。四 实验步骤要点1、 三元组的建立:template struct SparsMatrix element dataMaxTerm; int mu,nu,tu;2、三元组的转置:void SparsT(SparsMatrix M1, SparsMatrix &M2)int i;int *num=new intM1.nu;int *num1=new intM1.nu ;/存放累计个数int *num2=new intM1.nu; /已经存放的个数for(i=0;iM1.nu;i+)numi=0;num1i=0;num2i=0;for(i=0;iM1.tu;i+)numM1.datai.col-1+;num10=0;for(i=1;iM1.nu;i+)num1i=num1i-1+numi-1;M2.mu=M1.nu,M2.nu=M1.mu,M2.tu=M1.tu;for(i=0;iM1.tu;i+)M2.datanum1M1.datai.col-1+num2M1.datai.col-1.row=M1.datai.col;M2.datanum1M1.datai.col-1+num2M1.datai.col-1.col=M1.datai.row;M2.datanum1M1.datai.col-1+num2M1.datai.col-1.item=M1.datai.item;num2M1.datai.col-1+;3、三元组的显示:for (int i=0;iM1.tu;i+)coutM1.datai.row M1.datai.col M1.datai.item endl;五 实验结果分析六 体会与总结通过本次实验,我对有关稀疏矩阵及其三元组表的知识做了复习和巩固。在编程的过程中,遇到了不少问题,如一开始并没有输出显示,所以只能通过调试一步步看是否转置已成功,调试的过程也方便找到导致运行出错的位置,再进行改动调试, 最终解决了问题,同时也加深了对调试运行的理解。附录:程序代码#include using namespace std;const int MaxTerm=100;template struct elementint row,col;T item;template struct SparsMatrix element dataMaxTerm;int mu,nu,tu;void SparsT(SparsMatrix M1, SparsMatrix &M2)int i;/int j,temp;/*M2=M1;temp=M2.nu,M2.nu=M2.mu,M2.mu=temp;for(i=0;iM2.tu;i+)temp=M2.datai.row;M2.datai.row=M2.datai.col;M2.datai.col=temp;/.*/int *num=new intM1.nu;int *num1=new intM1.nu ;/存放累计个数int *num2=new intM1.nu; /已经存放的个数for(i=0;iM1.nu;i+)numi=0;num1i=0;num2i=0;for(i=0;iM1.tu;i+)numM1.datai.col-1+;num10=0;for(i=1;iM1.nu;i+)num1i=num1i-1+numi-1;M2.mu=M1.nu,M2.nu=M1.mu,M2.tu=M1.tu;for(i=0;iM1.tu;i+)M2.datanum1M1.datai.col-1+num2M1.datai.col-1.row=M1.datai.col;M2.datanum1M1.datai.col-1+num2M1.datai.col-1.col=M1.datai.row;M2.datanum1M1.datai.col-1+num2M1.datai.col-1.item=M1.datai.item;num2M1.datai.col-1+;int main()SparsMatrix M1,M2;M1.tu=7;M1.mu=5;M1.nu=6;M1.data0.col=1,M1.data0.row=1,M1.data0.item=15;M1.data1.col=4,M1.data1.row=1,M1.data1.item=22;M1.data2.col=6,M1.data2.row=1,M1.data2.item=-15;M1.data3.col=2,M1.data3.row=2,M1.data3.item=11;M1.data4.col=3,M1.data4.row=2,M1.data4.item=3;M1.data5.col=4,M1.data5.row=3,M1.data5.item=6;M1.data6.col=1,M1.data6.row=5,M1.data6.item=91; SparsT(M1,M2);cout原稀疏矩阵三元顺序图n;for (int i=0;iM1.tu;i+)coutM1.datai.row M1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年环保产业技术创新与产业升级技术创新合作模式研究报告
- 2025年电商平台大数据分析在眼镜行业精准营销策略报告
- 2025年核能产业铀矿资源需求预测与市场供应分析报告
- 2025年环保行业环保产业环保教育与培训技术进展与应用研究报告001
- 押题宝典高校教师资格证之《高等教育法规》试题含答案详解(完整版)
- 2025至2030年中国生蚝市场运行态势及行业发展前景预测报告
- 押题宝典高校教师资格证之《高等教育心理学》通关考试题库及答案详解【夺冠系列】
- 推拿治疗学试题库含答案详解(基础题)
- 考点解析-冀教版七年级下册期末试题附答案详解【典型题】
- 2025年度汽车租赁与新车购买双重保障合同
- 应急心理与心理疏导
- JJF 1183-2025 温度变送器校准规范
- 2025年新《公司法》知识竞赛题库(含答案)
- 颜料企业数字化转型与智慧升级战略研究报告
- 农产品加工可行性报告
- 七年级体育 运动损伤的预防和处理说课稿
- 2025年度人工智能辅助医疗合作协议范本模板4篇
- GB/T 15561-2024数字指示轨道衡
- 办公用品供货服务计划方案
- 全国粤教清华版初中信息技术七年级上册第2单元第4节《云服务》说课稿
- 一年级得稳稳地走-一年级家长会【课件】
评论
0/150
提交评论