《数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习.docx》由会员分享,可在线阅读,更多相关《数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习当前位置:文档视界数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习当前位置:文档视界数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习目录1.序言.(3)1.1数据构造背景(3)1.2课程设计目的(3)1.3课程名称(3)1.4设计要求(3)1.5设计讲明(3)2课程任务设计讲明书(5)3.需求分析(6)3.1题目名称(6)3.2题目内容(6)3.3题目分析(6)4概要设计(7)4.1稀疏矩阵存储构造(7)4.2.稀疏矩阵的基本操作(7)4.3
2、各模块设计要求(8)4.4总体功能流程图(9)4.4.1存储构造流程图(9)4.4.2稀疏矩阵基本操作流程图(10)5具体设计(11)5.1设计原理(11)5.2基本函数实现流程图(13)6主要函数代码(21)7调试与操作讲明(27)7.1操作讲明(27)7.2调试结果.287.3结果分析(31)8.设计体会(32)9.参考文献(32)10.分工讲明(33)1.序言1.1数据构造背景数据构造是一门理论性强、思维抽象、难度较大的课程,是基础课和专业课之间的桥梁。该课程的先行课程是计算机基础、程序设计语言、离散数学等,后续课程有操作系统、编译原理、数据库原理、软件工程等。通过本门课程的学习,我们应
3、该能透彻地理解各种数据对象的特点,学会数据的组织方法和实现方法,并进一步培养良好的程序设计能力和解决实际问题的能力,而且该课程的研究方法对我们学生在校和离校后的学习和工作,也有着重要的意义。数据构造是计算机科学与技术专业的一门核心专业基础课程,在该专业的课程体系中起着承上启下的作用,学好数据构造对于提高理论认知水安然平静实践能力有着极为重要的作用。学习数据构造的最终目的是为了获得求解问题的能力。对于现实世界中的问题,应该能从中抽象出一个适当的数学模型,该数学模型在计算机内部用相应的数据构造来表示,然后设计一个解此数学模型的算法,再进行编程调试,最后获得问题的解答。基于此原因,我们开设了数据构造
4、课程设计。针对数据构造课程的特点,着眼于培养我们的实践能力。实习课程是为了加强编程能力的培养,鼓励学生使用新兴的编程语言。相信通过数据构造课程实践,无论是理论知识,还是实践动手能力,同学们都会有不同程度上的提高。1.2课程设计的目的稳固和深入理解“数据构造C语言版课程所讲解的C语言作为数据构造的算法的描绘,把握对数据的存储构造和算法进行描绘时,尽量考虑C语言的特色。培养学生独立工作和创新思维的能力,获得设计与调试的实践经历。提高和加强计算机应用及软件开发能力。通过课程设计题目的练习,强化学生对所学知识的把握及对问题分析和任务定义的理解,对每到题目作出了相应的逻辑分析和数据构造的选择,通过对任务
5、的分析,为操作对象定义相应的数据构造,以经过化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。分模块对题目进行设计,强化学生对C语言的把握和对数据构造的选择及把握。通经过序的编译把握对程序的调试方法及思想,并且让学生学会使用一些编程技巧。促使学生养成良好的编程习惯,以及让学生对书本上的知识进行了实践。算法与数据构造这门课是计算机科学中一门综合性的专业基础课1.2课程名称:数据构造1.3设计要求学会分析研究计算机加工的数据构造的特性,以便为应用涉及的数据选择适当的逻辑构造,存储构造及其相应的算法,算法要求用C语言完成。学生独立考虑解决问题为主,老师指导为辅,结合上机操作,完成指定的
6、任务,撰写课程设计报告。要求源代码有足够的注释,能到达题目要求,并使人能看得懂你的代码。1.5设计讲明此课程设计着重在于让我们理解怎样利用C语言来实现稀疏矩阵的一些详细操作,里面代码完全采用C语言描绘,包括了稀疏矩阵的建立,稀疏矩阵的输出,两个稀疏矩阵的相加,以及怎样求出相应矩阵的转置矩阵。由于在我们课本中除了学习了稀疏矩阵的建立,相加,转置外,我们还接触了稀疏矩阵的销毁,稀疏矩阵的复制,稀疏矩阵的相减,稀疏矩阵的相乘,为了将有关稀疏矩阵的几个基本操作全部实现一遍,我们在完成原有题目的要求下,拓展了下题目内容,将稀疏矩阵的销毁,稀疏矩阵的复制,稀疏矩阵的相减,稀疏矩阵的相乘补充进去,这样我们更
7、觉得此次课程设计的完好性。而且,为了使读者当前位置:文档视界数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习当前位置:文档视界数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习数据构造C语言版-稀疏矩阵三元组的基本操作讲解学习3.求出A的转置矩阵D,输出D;题目拓展:4.稀疏矩阵的销毁5.稀疏矩阵的快速转置6.求两个具有一样行列数的稀疏矩阵A和B的相减矩阵C,并输出C;7.求两个具有一样行列数的稀疏矩阵A和B的相乘矩阵C,并输出C;3.3题目分析:通常,用高级语言编制程序时,都是用二维数组来存储矩阵元。有的程序设计语言中还提供了各种矩阵运算,
8、用户使用时都很方便。然而,在数值分析中经常出现一些阶数很高的矩阵,同时在矩阵中有很多值一样的元素或者零元素。有的为了节省存储空间,能够对这类矩阵进行压缩存储。所谓压缩存储是指:为多个值一样的元只分配一个存储空间;对零元不分配空间。我们能够运用压缩存储的方式来实现稀疏矩阵的几个基本操作。4.概要设计4.1稀疏矩阵存储构造#defineMAXSIZE12500/假设非零元个数的最大值为12500typedefstructinti,j;/该非零元的行下标和列下标ElemeTypee;Triple;TypedefstructTripledataMAXSIZE+1;/非零元三元组表,data0未用intmu,nu,tu;/矩阵的行数,列数和非零元个数TSMatrix;4.2.稀疏矩阵的基本操作CreateSMatrix(操作结果:创立稀疏矩阵M。DestroySMatrix(&M);初始条件:稀疏矩阵M存在;操作结果:销毁稀疏矩阵M。PrintSMatrix(M)初始条件:稀疏矩阵M存在。操作结果:输出稀疏矩阵M。CopySMatrix(TSMatrixM,TSMatrix*T)初始条件:稀疏矩阵M存在操作结果:由稀疏矩阵M复制得到T。AddSMatrix(TSMatrixM,TSMatrixN,TSMatrix*Q)