矩阵是线性代数中的一个知识,刚开始学习的时候可能感觉不到它有什么用处,最初的感觉就是对二维数据的操作。其实现实生活中矩阵的用处太大了,设计领域相当的广泛。在此只讨论稀疏矩阵的转置问题; 可能看到矩阵就会想到二维数组,比如这样一个矩阵: 你可能会想到用二维数组来存放此矩阵中的元素 ...
本篇文章的代码基于 数据结构 严蔚敏 清华大学 不是很想分函数来一遍解释 信息基本上都在注解里 直接上完整代码好了 ...
2018-12-02 15:29 0 1872 推荐指数:
矩阵是线性代数中的一个知识,刚开始学习的时候可能感觉不到它有什么用处,最初的感觉就是对二维数据的操作。其实现实生活中矩阵的用处太大了,设计领域相当的广泛。在此只讨论稀疏矩阵的转置问题; 可能看到矩阵就会想到二维数组,比如这样一个矩阵: 你可能会想到用二维数组来存放此矩阵中的元素 ...
在普遍的印象中,矩阵是由方括号围住,同时各个坐标的数字整齐的排列着。如下图所示: 看到图示后,第一反应当然是用一个二维数组来表示,即简单又易懂。但我们又会碰到下图所示矩阵: 看看这个矩阵,0好多啊(我们称之为稀疏矩阵),若用二维数组来表示,会重复存储了很多个 ...
题目:假设稀疏矩阵A和B均以三元组表作为存储结构,试写出矩阵相加和相乘的算法,另设三元组表C存放结果矩阵。 要求: 从键盘输入稀疏矩阵A和B 检测A和B能否相加/相乘 如能,做矩阵相加和相乘运算,并打印运算结果 如不能,应显示出原因 这里主要就是三元组的运用,比较基础,详情见代码中的注释。 ...
#include<stdio.h> #include<malloc.h> #include<stdlib.h> #include<strin ...
声明:图片及内容基于https://www.bilibili.com/video/av97010411 特殊矩阵的压缩和存储 对称矩阵的压缩存储 三角矩阵的压缩存储 对角矩阵的压缩存储 稀疏矩阵的压缩和存储 稀疏矩阵 三元组 十字链表 ...
为什么要对矩阵进行压缩存储呢?对于一个n*m的矩阵,我们一般会想到开一个n*m的二维数组来存储,这样计算操作都很方便模拟,但当一个矩阵很大时,这样对于空间的开销与浪费是很可怕的,尤其是当矩阵变成多维时。但我们往往不会在矩阵每一个位置都存有数据,很多矩阵元素其实是0,我们需要记录的只是那些非零元 ...
矩阵的转置实际上就是将数据元素的行标和列标互换,即 T(i,j) = M(j,i) 。例如: 图1 矩阵的转置 相应地,三元组表转变为: 图2 三元组表 矩阵的转置,经历了三个步骤 ...
目录 1.稀疏数组 1.1 解决方法 1.2 代码实现 2. 队列 2.1 数组模拟队列 2.2 数组模拟环形队列 1.稀疏数组 所谓稀疏数组就是当数组中大部分的内容值都未被使用(或都为 ...