第9周项目3 稀疏矩阵的三元组表示的实现及应用(2)
来源:互联网 发布:成都行知小学小升初 编辑:程序博客网 时间:2024/06/05 06:35
问题:
/*Copyright (c)2016,烟台大学计算机与控制工程学院All rights reserved.文件名称:wangjingqi.cpp作 者:王靖淇完成日期:2016年10月27日版 本 号:v1.0问题描述::(2)采用三元组存储稀疏矩阵,设计两个稀疏矩阵相加的运算算法 提示1:两个行数、列数相同的矩阵可以相加 提示2:充分利用已经建立好的算法库解决问题 提示3:教材例6.3已经给出两个稀疏矩阵相加的运算的算法,但未利用基本运算。请比较这两种方案。输入描述:无程序输出:测试数据*/
代码;
★注:头文件tup.h及功能函数tup.cpp的代码见项目3(1)
#include "tup.h"bool MatAdd(TSMatrix a,TSMatrix b,TSMatrix &c){ int i,j; ElemType va,vb,vc; if (a.rows!=b.rows || a.cols!=b.cols) return false; //行数或列数不等时不能进行相加运算 c.rows=a.rows; c.cols=a.cols; //c的行列数与a的相同 c.nums=0; for(i=0; i<M; i++) for(j=0; j<N; j++) { Assign(a,va,i,j); Assign(b,vb,i,j); vc=va+vb; if(vc) Value(c,vc,i,j); } return true;}int main(){ TSMatrix ta,tb,tc; int A[M][N]= { {0,0,1,0,0,0,0}, {0,2,0,0,0,0,0}, {3,0,0,0,0,0,0}, {0,0,0,7,0,0,0}, {0,0,0,0,5,0,0}, {0,0,0,0,0,4,6} }; int B[M][N]= { {0,0,10,0,0,0,0}, {0,0,0,20,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,50,0,0,0}, {0,0,20,0,0,0,0}, {0,0,0,10,0,0,4} }; CreatMat(ta,A); CreatMat(tb,B); printf("A:\n"); DispMat(ta); printf("B:\n"); DispMat(tb); if(MatAdd(ta, tb, tc)) { printf("A+B:\n"); DispMat(tc); } else { printf("相加失败\n"); } return 0;}
运行结果:
☆比较两种方案:
书例6.3的方法把所有可能都罗列出来,虽然比较容易理解,但是代码过长,容易出错。
而运用了基本运算之后,则可以用一个循环就解决问题,更为简单。
知识点总结:
通过三元组实现稀疏矩阵相加
学习心得:
要通过比较改进代码,实现更好的运算。
0 0
- 第9周项目3稀疏矩阵的三元组表示的实现及应用2
- 第9周项目3-(2)稀疏矩阵的三元组表示的实现及应用
- 第9周 项目3—稀疏矩阵的三元组表示的实现及应用
- 第9周 项目3-稀疏矩阵的三元组表示的实现及应用
- 第9周 项目3 - 稀疏矩阵的三元组表示的实现及应用
- 第9周项目3 稀疏矩阵的三元组表示的实现及应用
- 第9周项目3稀疏矩阵的三元组表示的实现及应用1
- 第9周项目3-(1)稀疏矩阵的三元组表示的实现及应用
- 第9周项目3-稀疏矩阵的三元组表示的实现及应用(2)
- 第9周 项目3 稀疏矩阵的三元组表示的实现及应用(2)
- 第9周SHH数据结构-【项目3-稀疏矩阵的三元组表示的实现及应用(2)】
- 第9周项目3-稀疏矩阵的三元组表示的实现及应用(2)
- 第9周项目3-稀疏矩阵的三元组表示的实现及应用(2)
- 第9周项目3-稀疏矩阵的三元组表示的实现及应用(2)
- 第9周项目3-稀疏矩阵的三元组表示的实现及应用(2)
- 【第9周项目3-稀疏矩阵的三元组表示的实现及应用(2)】
- 第9周项目3-稀疏矩阵的三元组表示的实现及应用(2)
- 第9周项目3 稀疏矩阵的三元组表示的实现及应用(2)
- 第九周 项目4-广义表算法库及应用
- 目标检测的图像特征提取之(二)LBP特征
- 面向对象程序设计上机练习九(对象指针
- java之HeapByteBuffer&DirectByteBuffer以及回收DirectByteBuffer
- #377 – 通过将ToolTip定义为资源对其进行重用(Reuse Tooltips by Defining Them as Resources)
- 第9周项目3 稀疏矩阵的三元组表示的实现及应用(2)
- 第九周 项目四--广义表算法库及应用
- 看懂U-BOOT神秘内容_笔记1
- Sqlserver 转Mysql 注意
- 第九周项目2--对称矩阵压缩存储的实现与应用2
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 缓存工具类MyCacheUtil
- fastDFS分布式存储服务器--安装说明(一)
- 第九周 项目四 广义表算法库