数据结构实验报告 下载本文

数据结构实验报告

KMP算法

GetNextval()

由t求出nextval的值

KMPIndexpro()

17

数据结构实验报告

改进后的KMP算法

3、实验数据与结果

2.4实验4(exp6-4)

1、题目

假设n*n的稀疏矩阵A采用三元组表示,设计一个程序exp6-4.cpp实现如下功能

(1) 生成如下两个稀疏矩阵的三元组a,b

1 0 3 0 3 0 0 0 0 1 0 0 0 4 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 2

(2) 输出a转置矩阵的三元组; (3) 输出a+b的三元组

18

数据结构实验报告

(4) 输出a*b的三元组

2、算法设计

(1) 设计思路

用一个结构体创建三元组,加法只需要将行号和列号相同的数相加即可,如果连个数都

是零,就可以不必计算,乘法的话可以根据矩阵乘法的规则,用循环求行和列的和,得出结果。转置矩阵的算法类似,先理解转置矩阵的意思,然后交换行号和列号即可。

(2) 程序关系图

CreatMatDispMatmainTransMatMatAddGetValueMatMul

(3) 函数功能描述 CreateMat()

19

数据结构实验报告

创建稀疏矩阵的三元组表示法 DispMat()

输出矩阵 TransMat()

20