三元组表与稀疏矩阵,怎么转换?要求法。最好文字表述

2024-12-02 14:13:18
推荐回答(5个)
回答1:

l->e=(list)malloc((MAXSIZE+1)*sizeof(ElemType));// 这句在VC不能通过编译,因为e是elemtype类型,分配的空间是list类型,不匹配。

三元组,第1列是行号,第2列是列号,第3列是非零元素的值。假设以顺序存储结构来表示三元组表(triple table),则得到稀疏矩阵的一种压缩存储方式,即三元组顺序表,简称三元组表。

扩展资料:

对于在实际问题中出现的大型的稀疏矩阵,若用常规分配方法在计算机中储存,将会产生大量的内存浪费,而且在访问和操作的时候也会造成大量时间上的浪费,为了解决这一问题,从而产生了多种解决方案。

由于其自身的稀疏特性,通过压缩可以大大节省稀疏矩阵的内存代价。具体操作是:将非零元素所在的行、列以及它的值构成一个三元组(i,j,v),然后再按某种规律存储这些三元组,这种方法可以节约存储空间。

参考资料来源:百度百科-三元组

回答2:

三元组,第1列是行号,第2列是列号,第3列是非零元素的值。

回答3:

三元组,第1列是行号,第2列是列号,第3列是非零元素的值。

  1. 三元组是指形如((x,y),z)的集合(这就是说,三元组是这样的偶,其第一个射影亦是一个偶),常简记为(x,y,z)。

  2. 三元组是:计算机专业的一门公共基础课程——数据结构里的概念。主要是用来存储稀疏矩阵的一种压缩方式,也叫三元组表。

  3. 假设以顺序存储结构来表示三元组表(triple table),则得到稀疏矩阵的一种压缩存储方式,即三元组顺序表,简称三元组表。

回答4:

matlab使用sparse转换。
例如:
s=[1 2 2];%起点

t=[2 3 4];%终点
w=[2 1 3];%权重
dg=sparse(s,t,w,4,4);%4,4为稀疏矩阵大小
ans>>
(1,2) 2
(2,3) 4
(2,4) 3

回答5:

嘻嘻,是的