稀疏矩阵的压缩存储方法及主要运算的实现_第1页
稀疏矩阵的压缩存储方法及主要运算的实现_第2页
稀疏矩阵的压缩存储方法及主要运算的实现_第3页
稀疏矩阵的压缩存储方法及主要运算的实现_第4页
稀疏矩阵的压缩存储方法及主要运算的实现_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 实验目的 实验目的 掌握稀疏矩阵的压缩存储方法及主要运算的实现 掌握稀疏矩阵的压缩存储方法及主要运算的实现 2 实验内容与要求 实验内容与要求 设计一个稀疏矩阵计算器 要求能够 设计一个稀疏矩阵计算器 要求能够 输入并建立稀疏矩阵 输入并建立稀疏矩阵 输出稀疏矩阵 输出稀疏矩阵 执执 行两个矩阵相加 行两个矩阵相加 执行两个矩阵相乘 执行两个矩阵相乘 求一个矩阵的转置矩阵 求一个矩阵的转置矩阵 3 数据结构设计数据结构设计 逻辑结构 线性结构逻辑结构 线性结构 存储结构 顺序存储结构存储结构 顺序存储结构 4 算法设计算法设计 include define MAXSIZE 100 typedef int datatype typedef struct int i j datatype v Triple typedef struct Triple data MAXSIZE 1 int rpos MAXSIZE 1 int mu nu tu RLSMatrix int main void AddSMatrix RLSMatrix M void MultSMatrix RLSMatrix M void FastTransposeSMatrix RLSMatrix M RLSMatrix M int k printf 请输入稀疏矩阵请输入稀疏矩阵 M 的行数 列数和非零元素个数的行数 列数和非零元素个数 scanf d d d printf 请输入稀疏矩阵请输入稀疏矩阵 M 中非零元素的行号 列号和元素的值中非零元素的行号 列号和元素的值 n for k 1 k M tu k scanf d d d printf 请输出稀疏矩阵请输出稀疏矩阵 M 中非零元素的行号 列号和元素的值中非零元素的行号 列号和元素的值 n for k 1 k M tu k printf d 3d 3d M data k i M data k j M data k v printf n AddSMatrix M MultSMatrix M FastTransposeSMatrix M return 0 void AddSMatrix RLSMatrix M RLSMatrix N R int k l 1 s 1 printf 请输入稀疏矩阵请输入稀疏矩阵 N 的行数 列数和非零元素个数的行数 列数和非零元素个数 scanf d d d printf 请输入稀疏矩阵请输入稀疏矩阵 N 中非零元素的行号 列号和元素的值中非零元素的行号 列号和元素的值 n for k 1 k N tu k scanf d d d if M mu N mu M nu N nu printf 错误错误 n else R mu M mu R nu M nu k 1 if M tu N tu 0 while k M tu R data s j M data k j R data s v M data k v k s else if M data k j N data l j R data s i M data k i R data s j M data k j R data s v M data k v N data l v if R data s v 0 s k l else R data s i N data l i R data s j N data l j R data s v N data l v l s else if M data k i N data l i R data s i M data k i R data s j M data k j R data s v M data k v k s else R data s i N data l i R data s j N data l j R data s v N data l v l s while k M tu R data s i M data k i R data s j M data k j R data s v M data k v k s while l N tu R data s i N data l i R data s j N data l j R data s v N data l v l s printf 请输出稀疏矩阵请输出稀疏矩阵 M 和稀疏矩阵和稀疏矩阵 N 的和矩阵的和矩阵 R 中非零元素的行号 列号和元素的中非零元素的行号 列号和元素的 值值 n for k 1 k s k printf d 3d 3d n R data k i R data k j R data k v void MultSMatrix RLSMatrix M RLSMatrix D Q int num1 MAXSIZE num2 MAXSIZE ctemp MAXSIZE arow brow ccol p q tp t printf 请输入稀疏矩阵请输入稀疏矩阵 D 的行数 列数和非零元素个数的行数 列数和非零元素个数 scanf d d d printf 请输入稀疏矩阵请输入稀疏矩阵 D 中非零元素的行号 列号和元素的值中非零元素的行号 列号和元素的值 n for t 1 t D tu t scanf d d d for ccol 1 ccol M mu ccol num1 ccol 0 for t 1 t M tu t num1 M data t i M rpos 1 1 for ccol 2 ccol M mu ccol M rpos ccol M rpos ccol 1 num1 ccol 1 for ccol 1 ccol D mu ccol num2 ccol 0 for t 1 t D tu t num2 D data t i D rpos 1 1 for ccol 2 ccol D mu ccol D rpos ccol D rpos ccol 1 num2 ccol 1 if M nu D mu printf 错误错误 n else Q mu M mu Q nu D nu Q tu 0 if M tu D tu 0 for arow 1 arow M mu arow for ccol 1 ccol Q nu ccol ctemp ccol 0 Q rpos arow Q tu 1 if arow M mu tp M rpos arow 1 else tp M tu 1 for p M rpos arow p tp p brow M data p j if brow D mu t D rpos brow 1 else t D tu 1 for q D rpos brow q t q ccol D data q j ctemp ccol M data p v D data q v for ccol 1 ccolMAXSIZE printf 错误错误 n else Q data Q tu i arow Q data Q tu j ccol Q data Q tu v ctemp ccol printf 请输出稀疏矩阵请输出稀疏矩阵 M 和稀疏矩阵和稀疏矩阵 D 的乘积矩阵的乘积矩阵 Q 中非零元素的行号 列号和元素中非零元素的行号 列号和元素 的值的值 n for ccol 1 ccol Q tu ccol printf d 3d 3d n Q data ccol i Q data ccol j Q data ccol v void FastTransposeSMatrix RLSMatrix M RLSMatrix T int num MAXSIZE cpot MAXSIZE col p q t T mu M mu T nu M nu T tu M tu if T tu 0 for col 1 col M mu col num col 0 for t 1 t M tu t num M data t j cpot 1 1 for col 2 col M nu col cpot col cpot col 1 num col 1 for p 1 p M tu p col M data p j q cpot col T data q i M data p j T data q j M data p i T data

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论