数据结构实验四 矩阵的压缩存储 题目和源程序

发布 2019-08-30 20:28:40 阅读 7628

第11周星期三节)

一 、实验目的。

1.掌握下三角矩阵的输入、输出、转置算法。

2.理解稀疏矩阵的三元组表类型定义,掌握稀疏矩阵的输入、输出、转置算法。

二 、实验要求。

1.认真阅读和掌握本实验的算法思想。

2.编写完整程序完成下面的实验内容并上机运行。

三、实验内容。

1.所谓上(下)三角矩阵是指矩阵的下(上)三角中的元素均为常数或零的n阶矩阵。此时除了存储上(下)三角矩阵中的元素之外再加一个存储常数的空间即可。三角矩阵中的重复元素c可共享一个存储空间,其余的元素正好有n×(n+1)/2个,因此,三角矩阵可压缩到向量sa[0……n×(n+1)/2]中,其中c存放在向量的最后一个分量中。

用向量sa[0……n×(n+1)/2]压缩存储下三角矩阵,编写程序任意输入一个下三角矩阵,对其进行转置,输出转置后的矩阵。

2.用三元组顺序表压缩存储稀疏矩阵,编写程序任意输入一个稀疏矩阵,对其进行转置,输出转置后的矩阵。

四、思考与提高。

如何计算一个三元组表表示的稀疏矩阵对角线元素之和以及两个三元组表表示的稀疏矩阵的乘积?

* 04_矩阵的压缩存储。cpp --矩阵的压缩存储及相关操作

* 对矩阵的压缩存储的每个基本操作都用单独的函数来实现。

* 水上飘 2023年写。

/ :定义控制台应用程序的入口点。

#include ""

#include

#include

#include

#define n 9 //矩阵的维数。

#define maxsize 12500 //假设非零元个数的最大值为12500

using namespace std;

typedef struct

for(int k = 0; k < j; k++)

cout <

void output2(int *sa)

//转置距阵的输出。

for(int i = 0; i < n; i++)

cout <

void tsmatrix_input(tsmatrix &t)

//给以三元组顺序表压缩存储的稀疏矩阵随机赋值。

int mu,nu,tu;

cout <<输入矩阵的行数:";

cin >>mu; =mu;

cout <<输入矩阵的列数:";

cin >>nu; =nu;

cout <<矩阵的非零元个数:";

cin >>tu; =tu;

for(int i = 1; i <=i++)

for(int i = 1; i <=i++)检测用的。

cout <<

<< endl;

void transpose(tsmatrix t, tsmatrix &m)

//将t矩阵转置到m

= /行列交叉。

= /零元。

if( /若非零元个数不为零。

void tsmatrix_output(tsmatrix m)

//输出以三元组表存储表示的稀疏矩阵。

int p = 0;

for(int i = 0; i < i++)第i行。

cout <

void title1()

cout <<第一题:" endl;

int sa[n*(n+1)/2 + 1] =

input1(sa);

cout <<转置前的矩阵:" endl;

output(sa);

cout <<转置后的距阵:" endl;

output2(sa);

void title2()

cout <<第二题:" endl;

tsmatrix t,m;

tsmatrix_input(t);

cout <<矩阵转置前:" endl;

tsmatrix_output(t);

transpose(t,m); 实现转置。

cout <<矩阵转置后:" endl;

tsmatrix_output(m);

int _tmain(int argc, _tchar* ar**)

srand(time(null));

title1();

cout <

title2();

return 0;

数据结构实验 矩阵的运算

目录。实验目的 2 功能描述 2 输入描述 2 输出描述 2 程序分析 2 基本操作 2 主要算法分析 2 矩阵的构建 2 矩阵的加法 3 矩阵的减法 3 矩阵的乘法 4 算法的选择 5 程序运行过程 5 软件启动界面 5 加法运算 6 乘法运算 7 实验总结 8 用户手册 8 运行平台 8 系统要...

数据结构与算法与数据的存储解析

数据结构 狭义 数据结构是专门研究数据存储的问题。数据的存储包含两方面 个体的存储 个体关系的存储。广义 数据结构既包含数据的存储也包含数据的操作。对存储数据的操作就是算法。算法 狭义 算法和数据的存储方式密切相关。广义 算法和数据的存储方式无关。这就是泛型思想。数据的存储结构有几种。线性 连续存储...

算法与数据结构 实验四

实验名称类别辅助教师授课对象教材讲义。图。必修 限选 任选 实验编号实验课时。类型。演示 验证 综合 设计 职称。信计141 2 实验内容 教学过程 实验目的实验装置实验准备实验内容思考题实验报告要求。备注。掌握图的建立和遍历。计算机。课前预习。1.建立一个无向图 2.利用深度遍历方式实现图的遍历。...