首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++经典算法题-三角三角对称矩阵

48.Algorithm Gossip: 三角三角对称矩阵 说明 三角矩阵矩阵在对角线以下元素均为0,即Aij = 0,i > j,例如: 1 2 3 4 5 0 6 7 8 9 0 0...10 11 12 0 0 0 13 14 0 0 0 0 15 三角矩阵矩阵在对角线以上元素均为0,即Aij = 0,i < j,例如: 1 0 0 0 0 2 6 0 0 0 3 7 10 0...15 三角三角矩阵也有大部份元素不储存值(为0),我们可以将它们使用一维阵列来储存以节省储存空间,而对称矩阵因为对称于对角线,所以可以视为三角三角矩阵来储存。...解法 假设矩阵为nxn,为了计算方便,我们让阵列索引由1开始,三角矩阵化为一维阵列,若以列为主,其公式为:loc = n*(i-1) - i*(i-1)/2 + j 化为以行为主,其公式为:loc...公式导证其实是由等差级数公式得到,您可以自行绘图并看看就可以导证出来,对于C/C++ Java等索引由0开始语言来说,只要将i与j各加1,求得loc之后减1即可套用以上公式。

2.4K10

一维数组&二维数组&对称矩阵&三角矩阵&三对角矩阵地址计算

一维数组地址计算 设每个元素大小是size,首元素地址是a[1],则 a[i] = a[1] + (i-1)*size 若首元素地址是a[0] 则a[i] = a[0] + i*size...二维数组地址计算 (m*n矩阵) 行优先 设每个元素大小是size,首元素地址是a[1][1],则a[i][j]?...二维数组通常用来存储矩阵,特殊矩阵分为两类: (1)元素分布没有规律矩阵,按照规律对用公式实现压缩。 (2)无规律,但非零元素很少稀疏矩阵,只存储非零元素实现压缩。...一、三角矩阵 包括三角矩阵三角矩阵对称矩阵 (1)若i<j时,ai,j=0,则称此矩阵三角矩阵。 (2)若i>j时,ai,j=0,则称此矩阵三角矩阵。...(3)若矩阵所有元素满足ai,j=aj,i,则称此矩阵对称矩阵三角 三角 二、三对角矩阵 带状矩阵压缩方法:将非零元素按照行优先存入一维数组。

1.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

什么是数据结构中特殊矩阵和稀疏矩阵

三角矩阵(Upper Triangular Matrix):在主对角线及其上方元素都不为零,下方元素都为零。三角矩阵常用于线性代数中三角分解等问题。 c....三角矩阵(Lower Triangular Matrix):与三角矩阵相反,在主对角线及其下方元素都不为零,上方元素都为零。 d....对称矩阵(Symmetric Matrix):矩阵关于主对角线对称,也就是 a[i][j] = a[j][i]。对称矩阵常用于表示对称关系数据,例如图形渲染中坐标变换矩阵。...由于自然语言特性,文本中出现单词数量很大,但每个文本只包含其中一小部分单词,导致整个矩阵部分元素为零。采用稀疏矩阵存储方式可以有效地节省空间和计算资源。 b....图论算法:图结构通常用邻接矩阵邻接表表示。对于大型图,邻接矩阵会变得非常庞大,而且大部分元素为零,这时使用稀疏矩阵可以有效减少存储空间和计算开销。 c.

51420

数据结构基础(一)数组,矩阵

二位数组则是一个矩阵结构,本质是以数组作为数组元素数组,即“数组数组”。以二维数组A[m,n]为例,其结构如图2-1所示: ?...3.矩阵 在数学中,矩阵(Matrix)是一个按照长方阵列排列复数实数集合 [1] ,最早来自于方程组系数及常数所构成方阵。这一概念由19世纪英国数学家凯利首先提出。...(1) 对称矩阵 对称矩阵关于主对角线对称,因此只需存储三角部分(包括主对角线)即可。这样,原来需要存储n×n个存储单元,现在只需要n×(n+1)/2个存储单元,节约了大约一半存储单元。...当n较大时,这是比较可观部分存储单元。 如何只存储三角部分元素呢?由于三角中共有n×(n+1)/2个元素,可将这些元素按行存储到一个数组SA[n(n+1)/2]中。...这样,三角元素aij(i≥j)存储到SA[k]中,在数组SA中下标k和i、j关系为:k=i×(i-1)/2+j-1,寻址计算方法如图所示。 ?

1.3K41

数据结构——全篇1.1万字保姆级吃透串与数组(超详细)

5.5对称矩阵压缩存储                 5.5.1定义及其压缩方式 什么是对称矩阵:a(i,j) = a(j,i) 对称矩阵压缩方式:共4种 三角部分以行序为主序存储压缩【学习,...掌握】 三角部分以列序为主序存储压缩  三角部分以行序为主序存储压缩  三角部分以列序为主序存储压缩  n×n对称矩阵压缩 n (n+1) / 2 个元素,求 1+2+3+......10 = j 下标0,0时,a(4,2) 下标1,1时,a(5,3)         5.6三角矩阵                 5.6.1概述&存储方式 三角矩阵分为:三角矩阵三角矩阵...只在上三角位置进行数据存储  三角矩阵:主对角线(不含主对角线)上方元素值均为0。...5.6.2三角矩阵 三角矩阵实例 三角矩阵对应一维数组存放下标,计算公式                   5.6.3三角矩阵 三角矩阵实例  三角矩阵对应一维数组存放下标,计算公式

1.8K60

数值分析读书笔记(2)求解线性代数方程组直接方法

),有效生成一个P是我们主要研究问题 2.初等下三角矩阵--Guass变换矩阵 回顾一线性代数中三个初等线性变换 数乘 倍加 互换 我们引入一个一般意义初等变换矩阵,它把许多常用线性变换统一在一个框架里面...注意左乘顺序 3.Gauss消元法 先介绍一顺序Gauss消元法,大概分两步 消元过程 回代过程 在消元过程中,我们不断去左乘Gauss变换矩阵,不断将原矩阵三角部分一列列变成0,从而最终变换成一个三角矩阵...这里再介绍一Crout分解,即A=LU中L是一个三角矩阵,U是单位三角矩阵 注意到某些特殊矩阵三角分解也是比较特殊,这里引入一类带状对角形矩阵 ?...上半带宽为s,下半带宽为r,存在LU分解,其中L是下半带宽为r单位三角矩阵,U是上半带宽为s三角矩阵 对于r=s=1这一类更加特殊矩阵,称为三对角矩阵,对于此类矩阵三角分解,介绍一种“追赶法...注意到正定对称矩阵三角分解也是特殊,这里引入Cholesky分解 首先利用Doolittle分解,得 ? ,对U进一步提取对角矩阵 ? ,从而有 ? 故, ? ,由于A对称正定, ?

1.2K30

【数据结构】串与数组

& 1 & 1 \\ 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 \end{matrix} \right] \tag{对称矩阵} 对称矩阵压缩方式:共4种 三角部分以行序为主序存储压缩...【学习,掌握】 三角部分以列序为主序存储压缩 三角部分以行序为主序存储压缩 三角部分以列序为主序存储压缩 n×n对称矩阵压缩 n (n+1) / 2 个元素,...j 下标0,0时,a(4,2) 下标1,1时,a(5,3) 4.5.6 三角矩阵 1)概述&存储方式 三角矩阵分为:三角矩阵三角矩阵 三角矩阵:主对角线(不含主对角线)下方元素值均为0...只在上三角位置进行数据存储 三角矩阵:主对角线(不含主对角线)上方元素值均为0。只在下三角位置进行数据存储 存储方式:三角矩阵存放方式,与对称矩阵存放方式相同。...\text{j)} \end{cases} \tag{三角矩阵公式} 3)三角矩阵 三角矩阵实例 \left[ \begin{matrix} a_{0,0} & 0 & \cdots

3.9K10

西电数据结构上机题——对称矩阵相乘

这道题拿到是懵逼 本题最为关键对称矩阵相乘算法 幸好有老哥之前探索出了 对称矩阵M第i行和第j列元素数据存储在一维数组a中位置k计算公式: 1、当i大于等于j时,k = (i...* (i + 1)) / 2 + j (三角) 2、当i小于j时,k = (j * (j + 1)) / 2 + i (三角) (注意这里是整除,真的是非常Amazing,有时间可以去研究一是怎么推出来...) 链接: https://blog.csdn.net/xiezhi123456/article/details/86607261 在他基础顺利解决 //对称矩阵相乘程序代码 #include...A三角:\n"); input(pa->A);//以行为主序输入矩阵A三角 printf("以行为主序输入矩阵B三角:\n"); input(pa->B);//以行为主序输入矩阵...B三角 mult(pa); output(pa->C);//输出矩阵C } //对称矩阵输入 void input(datatype x[]) { for(int i=0;i<size;i

29240

数据结构与算法 -数组

如下图便是一个5阶对称矩阵。 ? 对称矩阵元素在主对角线上是对称关系,故只要存储矩阵中上三角三角元素,让每两个对称元素共享一个存储空间,这样能节约近一半存储空间。...三角矩阵 以主对角线划分,三角矩阵三角三角两种。 三角矩阵如图所示,它三角(不包括主对角线) 中元素均为常数。三角矩阵正好相反,它主对角线上方均为常数。...在大多数情况三角矩阵常数为零。 ?...三角矩阵中,主对角线之上第p行(0≤p<n)恰有n-p个元素,按行优先顺序存放上三角矩阵元素a[i][j]时,a[i][j]之前i 行一共有 (n-p)=i(2n-i+1)/2个元素,在第i行...三角矩阵对应压缩存储 s[k] 和 a[i][j] 对应关系是: ? 3. 稀疏矩阵 什么是稀疏矩阵?简单说,设矩阵a中有s个非零元素, 若s远远小于矩阵元素总数,则称a为稀疏矩阵

69220

手把手:用OpenCV亲手给小扎、Musk等科技大佬们做一张“平均脸”(附Python代码)

*3矩阵,用于转换点坐标整个图像。...平均基准点Delaunay三角剖分 首先,我们需要计算这68个基准点坐标平均值,我们利用这68个点(图6蓝色点)以及输出图像边界8个点(上图绿色点)来计算Delaunay三角剖分(上图红色边框)...下面的矩阵展示了部分三角形列表,我们看到,关键点62、68和60形成一个三角形,32、50和49形成另一个三角形,等等。...如上图所示,左图是变换后输入图像Delaunay三角剖分,中图是平均关键点三角剖分。注意,左图三角形1对应中图三角形1。用左图三角形1三个顶点及其对应中图三个顶点计算变换矩阵。...比如: 对奥巴马图像(左)及其镜像(右)进行平均得到对称脸(中) 彩蛋部分!文摘菌也制作了编辑大大们平均脸。噔噔噔噔!

1.4K70

【笔记】《Deep Geometric Texture Synthesis》思路

然后将三角三条边都用上述特征来描述,也就是存为一个3*4矩阵,在这种描述中三角三条边由于是描述了边与边关系,所以可以保持旋转和移动不变性而且可以在任意全局位置和方向中恢复出来 PartC...对称面的卷积需要两部分卷积合作完成: 1*1卷积来实现有顺序不变性特性面特征嵌入 考虑了对应三角形面的单环领域信息对称面卷积 面特征嵌入卷积是为了将各个面的特征转换为输入特征并学习,这里使用式子...这一部分卷积将原始矩阵转为了3*d结果值,其中d是我们想要从中提取隐特征维数,3是顶点数量。...经过这块就得到了一个三角形面片特征向量 对称面卷积部分则要在上一部分作用到当前三角面片和邻域三个三角面片得到四个特征向量后,使用式子g(S, ^f|Ws,Wf,b) = S*Ws + ˆf*Wf +...具体GAN运用方法在后面说到 PartD 细分和多尺度网格图形 由于这篇文章目标是在目标物体上进行几何纹理生成,所以自然需要定义一个采样操作层级处理操作,因为生成器就是作用在当前表面中来改变表面顶点让纹理得到迁移

1.4K11

调用MKL函数库

下面结合矩阵LU分解来说明具体操作 使用sgetrf函数对矩阵进行LU分解,函数命名规则是这样,s代表single也就是单精度,ge代表一般矩阵,f代表factorization。...输入参数为以下: m :代表输入矩阵a行数 n :代表输入矩阵a列数 a :代表输入矩阵 lda :就是矩阵a第一个维度,一般是m 输出参数为: a :三角部分为经过LU分解后矩阵U,三角部分...注意这里不是纯三角矩阵!!! ipiv :INTEGER类型。...matrix,一般带状矩阵 sy:symmetric matrix,对称矩阵 sp:symmetric matrix (packed storage) sb:symmetric band matrix...tr:triangular matrix,三角阵 tp:triangular matrix (packed storage) tb:triangular band matrix.

4.8K40

线性代数--MIT18.06(五)

转置、置换和向量空间、子空间 5.1 ALU分解中存在换行 ■ 置换矩阵 继续一讲内容,由一讲可知我们可以将系数矩阵 A 分解为三角矩阵三角矩阵乘积,但是我们给定了一个前提假设—— A...实际单位阵就是一个置换矩阵,只不过它不对行进行更换,对于原分解过程我们可以这样理解 ? 由此我们得到置换矩阵集合: 对单位矩阵 I 各行进行(列)重排之后矩阵集合。...■ 对称矩阵 特别的我们发现一些矩阵转置之后还是原矩阵,这样矩阵称为对称矩阵(Symmetric matrix , S), 即 ?...同时我们发现可以通过任意矩阵,其自身与其转置乘积得到对称阵,即 ? ? 5.2 向量空间、子空间 ■ 向量空间定义: 所有 n 维向量构成空间即为向量空间 ?...■ 子空间定义: 子空间是向量空间 ? 中满足如下条件部分空间: 对于 ? 子空间 ? ,任意 ? , 它们所有线性组合也在 ? 中。

47640

R 语言中矩阵计算

,原因是三角取值按列取值,所以先取 10 后取 13,导致三角三角取值顺序不完全一致。...4.1 三角分解 LU 三角分解法是将原方阵分解成一个三角矩阵和一个三角矩阵,这样分解法又称为 LU 分解法。它用途主要在简化一个大矩阵行列式值计算过程,求逆矩阵,和求解联立方程组。...这种分解法所得到上下三角矩阵不唯一,一对三角矩阵三角矩阵矩阵相乘会得到原矩阵。...它要求矩阵所有特征值必须大于零,故分解三角对角元也是大于零。Cholesky 分解法又称平方根法,是当A为实对称正定矩阵时,LU 三角分解法变形。...通过对相同顺序对称 Pascal 矩阵执行 LU 分解并返回三角矩阵,可以容易地获得它。 帕斯卡三角形是由数字行组成三角形。

3.8K20

Python|图像绘制之十字图

解决方案 这道题打印是一个对称图形,而且对称轴很多,那么就可以利用图形对称性进行思考。这里先上下对折,然后左右对折,最后45度角对折,得到一个直角三角形。如下图所示: ?...根据这四个规律就可以打印分成八份图形(直角三角形),再根据对称性就可以打印出题目要求图形。...但是,输出时候是一行一行输出,如果成全是(.)矩阵再遍历一个一个填入($)的话时间和空间复杂度就很大了。...所以可以先把除直角三角形外其他部分按照对称性先转换成直角三角形后按前面四个规律直接输出。...结语 基本绝大部分类似这种输出一个由几个字符组成对称图形题都可以先利用对称性把图形‘缩小’,这样可以很容易找到一定规律并且这种规律大多都不繁杂。

89510

邻接矩阵学习

③用邻接矩阵法表示图共需要n^2个空间,由于无向图邻接矩阵一定具有对称关系,所以扣除对角线为零外,仅需要存储三角三角数据即可,因此仅需要n(n-1)/2个空间。...特点: 无向图邻接矩阵一定是对称,而有向图邻接矩阵不一定对称。...因此,用邻接矩阵来表示一个具有n个顶点有向图时需要n^2个单元来存储邻接矩阵;对有n个顶点无向图则只存入三角阵中剔除了左上右下对角线上0元素后剩余元素,故只需1+2+......无向图邻接矩阵第i行(第i列)非零元素个数正好是第i个顶点度。...其中,wij 表示边(vi,vj)权值;∞表示一个计算机允许、大于所有边上权值数。 用邻接矩阵表示法表示图如图8.7 所示。 用邻接矩阵表示法表示网图如图8.8 所示。 ?

1.4K10

5-数组

,主要分为以下两类: 含有大量相同数据元素矩阵,比如对称矩阵; 含有大量 0 元素矩阵,比如稀疏矩阵三角矩阵; ?...我们可以使用一维数组存储对称矩阵。 由于矩阵中沿对角线两侧数据相等,因此数组中只需存储对角线一侧(包含对角线)数据, 每一对对称元素共享一个存储空间。...+ (j-1) ,这就是存储三角元素一维数组索引 对原来就在上三角区域元素( i< j), 看成按列存储, 第 j 列 上有 j 个元素 Loc(i,j) = Loc(1,1) + j *(j-...1)/2 + (i-1) 则令 k=j *(j-1)/2 + (i-1),这就是存储三角元素一维数组索引 ()三角矩阵存储元素和提取元素过程和对称矩阵相同。...介于数组 "不利于插入和删除数据" 特点,以上两种压缩存储方式都不适合解决类似 "向矩阵中添加删除非 0 元素" 问题。 ?

99220

C++ 特殊矩阵压缩算法

压缩对称矩阵 什么是对称矩阵? 在一个n阶矩阵A中,若所有数据满足如下述特性,则可称A为对称矩阵。 a[i][j]==a[j][i] i是矩阵行号。 j是矩阵列号。...如下图所示: 对称矩阵以主对角线为分界线,把整个矩阵分成 2 个三角区域,主对角线之上称为三角,主对角线之下区域称为三角。...对称矩阵三角三角区域中元素是相同,以n行n列二维数组存储时,会浪费近一半空间,可以采压缩机制,将 二维数组中数据压缩存储在一个一维数组中,这个过程也称为数据线性化。...线性过程时,一维数组空间需要多大? n阶矩阵,使用二维数组存储,理论所需要存储单元应该为 n2。 对称矩阵以主对角线为分界线,三角三角区域中数据是相同。...并且n阶矩阵和一维数组之间满足如下位置对应关系: i>=j表示矩阵 三角区域(包含主对角线上数据)。 i<j表示矩阵三角区域。

1.9K30

数值分析读书笔记(3)求解线性代数方程组迭代法

不同分裂法将使我们B和f不一致,我们通常将A分裂成三个部分A=D-L-U,其中D为对角矩阵,L和U分别是三角三角矩阵,这里需要注意一符号不同,L和U元素都是原矩阵三角三角元素符号相反数...注意到等式右端第一部分,即 ? ,这一部分其实就是之前一步值 等式第二部分就是类似Gauss-Seidel迭代得到解然后乘上一个松弛因子( ?...,这里不存在等号条件 弱对角占优是严格对角占优基础添加等号条件,也就是说对角线上元素绝对值大于等于相同行其他元素绝对值和 我们直接不加证明给出一个定理: 对于严格对角占优矩阵和弱对角占优矩阵...,我们使用任意初始向量,构造Jacobi迭代格式或者Gauss-Seidel迭代格式,结果均收敛 接下来,我们看一另外一种特殊矩阵,即对称正定矩阵 给出一个定理 设A对称,且对角元素为正,则方程组...对称正定,如果 ? , 则求解 ? SOR迭代格式收敛

1.6K20
领券