本篇文章的代码基于【数据结构】【严蔚敏】【清华大学】 不是很想分函数来一遍解释 信息基本上都在注解里 直接上完整代码好了 ...
矩阵是线性代数中的一个知识,刚开始学习的时候可能感觉不到它有什么用处,最初的感觉就是对二维数据的操作。其实现实生活中矩阵的用处太大了,设计领域相当的广泛。在此只讨论稀疏矩阵的转置问题 可能看到矩阵就会想到二维数组,比如这样一个矩阵: 你可能会想到用二维数组来存放此矩阵中的元素,就像这样:int text , , , , , , , , , , , , , , , , , , , , , , , ...
2013-03-13 09:38 0 17752 推荐指数:
本篇文章的代码基于【数据结构】【严蔚敏】【清华大学】 不是很想分函数来一遍解释 信息基本上都在注解里 直接上完整代码好了 ...
在普遍的印象中,矩阵是由方括号围住,同时各个坐标的数字整齐的排列着。如下图所示: 看到图示后,第一反应当然是用一个二维数组来表示,即简单又易懂。但我们又会碰到下图所示矩阵: 看看这个矩阵,0好多啊(我们称之为稀疏矩阵),若用二维数组来表示,会重复存储了很多个 ...
题目:假设稀疏矩阵A和B均以三元组表作为存储结构,试写出矩阵相加和相乘的算法,另设三元组表C存放结果矩阵。 要求: 从键盘输入稀疏矩阵A和B 检测A和B能否相加/相乘 如能,做矩阵相加和相乘运算,并打印运算结果 如不能,应显示出原因 这里主要就是三元组的运用,比较基础,详情见代码中的注释。 ...
#include<stdio.h> #include<malloc.h> #include<stdlib.h> #include<strin ...
为什么要对矩阵进行压缩存储呢?对于一个n*m的矩阵,我们一般会想到开一个n*m的二维数组来存储,这样计算操作都很方便模拟,但当一个矩阵很大时,这样对于空间的开销与浪费是很可怕的,尤其是当矩阵变成多维时。但我们往往不会在矩阵每一个位置都存有数据,很多矩阵元素其实是0,我们需要记录的只是那些非零元 ...
稀疏矩阵转置 Description 稀疏矩阵的存储不宜用二维数组存储每个元素,那样的话会浪费很多的存储空间。所以可以使用一个一维数组存储其中的非零元素。这个一维数组的元素类型是一个三元组,由非零元素在该稀疏矩阵中的位置(行号和列号对)以及该元组的值构成。 矩阵转置 ...
稀疏矩阵非零元素的三元组类: 三元组顺序存储的稀疏矩阵类: 测试类: 运行结果: ...
矩阵相乘的前提条件是:乘号前的矩阵的列数要和乘号后的矩阵的行数相等。且矩阵的乘法运算没有交换律,即 A*B 和 B*A 是不一样的。 例如,矩阵A: 矩阵B: 由于矩阵 A 的列数和矩阵 B 的行数相等,可以进行 A*B 运算(不能进行 B*A 运算)。计算方法 ...