数 据 结 构 课 程 设 计 报 告 题 目 : 专 业: 班 级: 学 号: 姓 名: 指导老师: 时 间: 1 一 、课程设计题目及所涉及知识点 设 计 题 目 是 “矩 阵 的 运 算 ”, 所 涉 及 的 知 识 点 主 要 是 : 1、数据结构中的 对于结构体的 定义, 用 typedef struct 来实现, 根据所 设 计 的 问题 在结构体里面定义数据类型及 其变量,用 define 定义数组的 大小,然后利用typedef 来实现对于变量的 未知 类型确定正确的 类型。 2、利用数组的 形式来储存数据, 在实现不同操作过程中, 有的 用一维结构体数组(三元组顺序表)来存储, 有的 用二维数组来储存。 3、转置的 过程中利用的 是 快速转置的 方法, 附设 了 num 和 cpot 两个辅助变量。 4、矩 阵 的 加法、减法、乘法、逆运 算 的 基本算 法方式。 5、通过调用每个函数, 来实现每个算 法的 功能。 二、课程设计思路及算法描述 设 计 思路: 1、 首先是 对于转置的 考虑, 要 运 用快速转置的 方法实现, 必须用三元组顺序表来储存数据, 所 以在第一个结构体中存在 int 类型的 行数(mu)列数(nu)以及 非零元素的 个数(tu);然后第二个结构体中分别有非零元素的 行下标(i)、列下标(j)和元素数值(e), 最后在第一个结构体中实现对第二个结构体成为数组结构体类型。 2、 对于其余加法、减法、乘法和逆运 算 则 是 运 用另 一个结构体来实现, 里面只 有矩阵 的 行数、列数和一个二维数组(用 float 来定义类型)。 3、 在 main 函数里面, 来实现对于数据的 输 入 操作, 利用 if 语 句 进 行选 择 来执 行操作, 利用 do……while 语 句 来实现功能的 循 环 操作。 4、 分五 个函数调用分别来实现转置、加法、乘法、和逆运 算 , 每个里面都 有最终 输出 结果 的 方式。 2 算 法 1: 矩 阵 的 转 置 输 入 : mu 中 存 放 矩 阵 的 行 数 , tu 存 放 矩 阵 的 列 数 , i 接 收 行 下 标 的 数 值 , j 接 收 列下 标 的 数 值 , e 来 存 储 数 据 。 输 出: 转 置 后的 新矩 阵 。 输 入 两行 两列 数 据 , 在第二行 第一列 中 有个数 据 为 12, 其余都为 0, 则输 出的 结果为第一行 第二列 ...