对于一个存在着多个0,且其具有一定的规律的矩阵,该如何将其压缩存储,以节省空间呢? 下面笔者就将带你探索矩阵压缩算法。首先,我们需要一个特殊的,具有规律的矩阵,笔者以老师上课给的题目为例。从图中我们可以发现,这是一个较为特殊的矩阵。首先,以对角线为划分,我们可以发现在对角线右边都有2个数字,且直到倒数第三还有两位数字,但是倒数第二行和倒数第一行分别只有1和0。由上述规律,我们可以开始构造这个矩阵
转载 2024-01-30 21:35:36
38阅读
矩阵压缩存储矩阵压缩:指为多值相同的元素只分配一个存储空间对零元素不分配空间特殊矩阵压缩存储对称矩阵定义:A[i][j] = A[j][i]开辟空间大小:n * n 个元素压缩至n*(n-1)/2个元素使用一维数组s[k]以行来存储对称矩阵A(i,j)的下三角元素,则存储与实现:#include <stdio.h> #include <stdlib.h> #includ
最大子矩阵Time Limit : 30000/10000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 1 Accepted Submission(s) : 1Problem Descrip...
转载 2015-10-16 13:41:00
155阅读
2评论
To the MaxTime Limit : 2000/1000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other)Total Submission(s) : 2 Accepted Submission(s) : 2Problem Desc...
转载 2015-10-16 13:39:00
50阅读
2评论
概念:科学与工程计算有一个特殊的数学对象,那就是矩阵。如何将矩阵中的各个元素存储在计算机中,数组就是一个很好的选择。我们通常会遇到三种类型的矩阵:普通矩阵特殊矩阵:对称矩阵、上三角矩阵、下三角矩阵、对角矩阵等稀疏矩阵特殊特殊矩阵和稀疏矩阵压缩存储的目的是节省存储空间。矩阵的下标是从1开始,而将改矩阵压缩成内存中的一维空间时,与该一维空间所对应的数组下标是从0开始。1. 对称矩阵:⎡⎣⎢⎢⎢⎢⎢⎢⎢
什么是对称矩阵(SymmetricMatrix)?对称对称-------看设一个N*N的方阵A,A中任意元素Aij,当且仅当Aij == Aji(0 <= i <= N-1 && 0 <= j <= N-1),则矩阵A是对称矩阵。以矩阵的对角线为分隔,分为上三角和下三角。压缩存就是矩阵存储时只需要存储上三角/下三角的数据,所以最多存储n(n+1)/
原创 2016-04-18 19:25:27
1315阅读
对称矩阵及对称矩阵压缩存储 压缩存储称矩阵存储时只需要存储上三角/下三角的数据,所以最多存储n(n+1)/2个数据。
c++
原创 2016-04-18 21:00:43
836阅读
1点赞
对称矩阵、三角阵、带状矩阵(对角矩阵)的压缩存储方法;稀疏矩阵的四种
原创 2021-11-25 17:21:47
2189阅读
数据结构中,提供针对某些特殊矩阵压缩存储结构。 这里所说的特殊矩阵,主要分为以下两类: 含有大量相同数据元素的矩阵,比如对称矩阵;含有大量 0 元素的矩阵,比如稀疏矩阵、上(下)三角矩阵;针对以上两类矩阵,数据结构的压缩存储思想是:矩阵中的相同数据元素(包括元素 0)只存储一个。 对称矩阵​​图​​图 1 的矩阵中,数据元素沿主对角线对应相等,这类矩阵称为对称矩阵矩阵中有两条对角线,其中图
原创 2022-10-23 00:29:27
573阅读
#include <stdio.h> #include <stdlib.h> #define N 5 void compress(int a[][5],int sa[]) { int i=0,j=0,k=0; for(i=0;i<5;i++) { for(j=0;j<5;j++) { if(i&
原创 2023-04-30 21:00:13
272阅读
对称矩阵、三角阵、带状矩阵(对角矩阵)的压缩存储方法;稀疏矩阵的四种常用的压缩存储方法:三元组、伪、邻接表、十字链表这四种表示方法,一文打尽。
原创 2022-01-16 14:29:29
668阅读
稀疏矩阵的特点M*N矩阵矩阵中有效值的个数远远小于无效值的个数,并且这些数据的分布没有规律。例如下面的矩阵稀疏矩阵压缩存储压缩矩阵值存储极少数的有效数据。使用三元组来存储每一个数据,三元组数据按照矩阵中的位置,以行优先顺序依次存放。则上述矩阵的存储结构为三元组结构//三元组的定义 template<class T> struct  Triple { p
原创 2016-04-17 23:14:26
2252阅读
4点赞
1评论
一、一维数组 二、二维数组 三、对称矩阵 四、三角矩阵 五、对角矩阵 六、稀疏矩阵 ...
转载 2021-08-05 11:32:00
479阅读
2评论
5、矩阵压缩存储5.1、对称矩阵压缩存储若n阶矩阵任意一个元素,都有的\(a_{i,j} = a_{j,i}\)的矩阵称为对称矩阵,普通存储:二位数组存储需要n*n个位置压缩存储策略:值存储对角线和下三角(或者对角线和上三角)\[\begin{pmatrix} a_{1,1} & a_{1,2} & ... & a_{1,n-1} & a_{1,n}\\
针对特殊矩阵压缩存储结构:     1 含有大量相同元素数据的矩阵      2 含有大量0元素的矩阵,比如稀疏矩阵,上,下三角矩阵针对以上矩阵,数据结构压缩存储思想是:矩阵中的相同数据元素(包括0元素)只存储1个。本次主要讲解稀疏矩阵存储放方式。稀疏矩阵非0元素很少(≤ 5%)且分布无规律。压缩存储稀疏矩阵的方法是
                                 &n
原创 2016-04-15 17:02:24
2576阅读
对称矩阵    设一个N*N的方阵A,A中的任意元素A[i][j],当且仅当A[i][j]=A[j][i],则矩阵A是对称矩阵,以对角线分隔,分为上三角和下三角    压缩矩阵存储对称矩阵时只需要存储其上三角或者下三角的数据,即最多存储n(n+1)/2个数据,对应关于为:i>j,symmetricMatrix[i
原创 2016-04-16 13:56:40
794阅读
2点赞
压缩存储称矩阵存储时只需要存储上三角/下三角的数据,所以最多存储n(n+1)/2个数据。对称矩阵压缩存储的对应关系:下三角存储i>=j,  SymmetricMatrix[i][j] == Array[i*(i+1)/2+j]#include<iostream> using namespace std; template<clas
原创 2016-03-01 15:03:27
1063阅读
矩阵类:二维数组实现!!每一行看成一个一维数组,在放入几个集合里面即可;用到random类,可以生产随机数,括号里是最大值;矩阵类: public class MyMatrix {     int[][] matrix ;//矩阵数组 Random random =new Random
原创 2015-08-27 09:39:20
515阅读
    若设一个N*N的方阵A,A中任意元素Aij,当且仅当Aij == Aji(0 <= i <= N-1 && 0 <= j <= N-1),则矩阵A是对称矩阵。以矩阵的对角线为分隔,分为上三角和
原创 2016-04-18 23:05:10
1578阅读
  • 1
  • 2
  • 3
  • 4
  • 5