1、 数学与计算机学院 课程设计说明书 课 程 名 称: 数据结构课程设计 课 程 代 码: 8404181 题 目: 稀疏矩阵应用 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2011 年 06 月 13 日 完 成 时 间: 2011 年 06 月 21 日 课程设计成绩: 学习态度及平 时成绩(30) 技术水平与实际 能力(20) 创新(5) 说明书撰写质量(45) 总 分 (100) 指导教师签名: 年 月 日 稀疏矩阵应用 目 录 1 1 引引 言言 1 1 1.1 问题的提出 1 1.2 国内外研究的现状 . 1 1.3 任务与分析 1 2 2 程序的主要功能程序的
2、主要功能 1 1 2.1 三元组的转置 1 2.2 三元组的加法 1 2.3 三元组的减法 1 2.4 三元组的乘法 2 2.5 十字链表的转置. 2 2.6 十字链表的加法. 2 2.7 十字链表的减法. 2 2.8 十字链表的乘法. 2 3 3 程序运行平台程序运行平台 3 3 4 4 总体设计总体设计 3 3 5 5 程序类的说明程序类的说明 4 4 6 6 模块分析模块分析 5 5 稀疏矩阵应用 6.1 三元组的转置 5 6.2 三元组减法 6 6.3 三元组的减法 9 6.4 三元组的乘法 . 12 6.5 十字链表的转置 . 14 6.6 十字链表的加法 . 15 6.7 十字链表
3、的减法 18 6.8 十字链表的乘法 22 7 7 系统测试系统测试 2525 7.1 三元组的转置 . 25 7.2 三元组的加法 . 26 7.3 三元组的减法 . 26 7.4 三元组的乘法 . 27 7.5 十字链表的转置 . 27 7.6 十字链表的加法 28 7.7 十字链表的减法 . 28 7.8 十字链表的乘法 . 29 7.9 总结. 29 8 8 结论结论 2929 参考文献参考文献 2929 稀疏矩阵应用 摘摘 要要 随着计算机的普及,一句话引出题目(小四楷体_GB2312) ,分析了三元组 和十字链表的存储和各种运算的实现,利用 C 语言编程实现了稀疏矩阵的运算系 统,
4、该系统具有三元组十字链表存储下的稀疏矩阵转置、加法、减法、乘法的功 能。 关键词:关键词:稀疏矩阵;计算机; 运算器 -1- 稀疏矩阵应用 1 引引 言言 1.1 问题的提出问题的提出 矩阵是很多科学与工程计算问题中研究的数学对象。因此,我们感兴趣的不是矩阵 本身,而是如何存储矩阵的元,从而使矩阵的各种运算能有效地进行。 通常,用高级语言编制程序时,都是用二维数组来存储矩阵元,有的程序设计语言 中还提供了各种矩阵运算,用户使用时很方便。 然而,在数值分析中,经常出现一些阶数很高的矩阵,同时在矩阵中有许多值相同 的元素或者是零元素,有时为了节省存储空间,可以对这类矩阵进行压缩存储。所谓压 缩存储,就是指:为多个值相同的元只分配一个存储空间;对零元不分配空间。 1.2 国内外研究的现状国内外研究的现状 目前已经可以用于人脸识别、子空间方法预处理技术稀疏近似逆按模最小特征值修 正矩阵广义极小残余方法等方面。 1.3