当前位置: 首页 > news >正文

北京市建设教育协会网站北京住房城乡建设部网站八大员

北京市建设教育协会网站,北京住房城乡建设部网站八大员,信用中国门户网站建设方案,温州网站优化排名推广三元组稀疏矩阵是一种高效存储稀疏矩阵的方法。它通过记录矩阵中非零元素的行、列和值来表示一个稀疏矩阵。我们在三元组里存储的是每个元素的行、列以及值。 题目: 任意输入一个稀疏矩阵M,用三元组顺序表压缩存储该稀疏矩阵M,然后求其转置矩…

  三元组稀疏矩阵是一种高效存储稀疏矩阵的方法。它通过记录矩阵中非零元素的行、列和值来表示一个稀疏矩阵。我们在三元组里存储的是每个元素的行、列以及值。

题目:

  任意输入一个稀疏矩阵M,用三元组顺序表压缩存储该稀疏矩阵M,然后求其转置矩阵T,并输出转置矩阵T。

思路: 

1、这里运用了快速转置,降低时间复杂度

2、快速转置的核心是确定转置后矩阵,每行的第一个非零元在三元表中的序号

3、详细在代码注释中

代码:

#include<iostream>
using namespace std;
typedef struct node
{int i, j, e;
}Triple;
typedef struct node1
{node data[1000];int mu, nu, tu=0;//矩阵行数、列数、非零元个数
}TSMatrix;
void Transpose(TSMatrix m, TSMatrix& t)
{int num[100]={0}, head[100];t.mu = m.nu, t.nu = m.mu, t.tu = m.tu;if (t.tu)//非零元不为0个,则做下列操作{for (int i = 1; i <= t.mu; i++)//逆置矩阵的列变行,初始每行中的非零元个数为0num[i] = 0;for (int i = 1; i <= t.tu; i++)//遍历非零元num[m.data[i].j]++;//列变行,m中每列的非零元个数就是t中每列非零元的个数head[1] = 1;for (int i = 2; i <= t.mu; i++)//遍历t的行数head[i] = head[i - 1] + num[i-1];//每行的第一个非零元在三元表中的序号for (int i = 1; i <= t.tu; i++)//遍历非零元{int col = m.data[i].j;//取非零元的列数int l = head[col];//该列要存储的位置t.data[l].i = m.data[i].j, t.data[l].j = m.data[i].i;//行转列,列转行t.data[l].e = m.data[i].e;head[col]++;//该列元素下次存储往下一位}}
}
int main()
{TSMatrix m,t;int ju[51][51];cout << "输入行数,列数:" << endl;cin >>m.mu >> m.nu;for (int i = 1; i <= m.mu; i++)//输入初始矩阵,建立三元组for (int j = 1; j <= m.nu; j++){cin >> ju[i][j];if (ju[i][j] != 0){m.tu++;m.data[m.tu].e = ju[i][j];m.data[m.tu].i = i, m.data[m.tu].j = j;}}Transpose(m, t);//for (int i = 1; i <= m.tu; i++)//cout << m.data[i].e << " " << m.data[i].i << " " << m.data[i].j << endl;//cout << endl;//for (int i = 1; i <= t.tu; i++)//cout << t.data[i].e << " " << t.data[i].i << " " << t.data[i].j << endl;cout << "逆置后矩阵:" << endl;int k = 1;for (int i = 1; i <= t.mu; i++){for (int j = 1; j <= t.nu; j++){if (t.data[k].i == i && t.data[k].j == j)cout << t.data[k++].e << " ";elsecout << "0 ";}cout << endl;}}

http://www.yayakq.cn/news/783109/

相关文章:

  • 微信链接的微网站怎么做的营销论坛网站建设
  • 一级a做爰片免费网站国产wordpress 国内最好主题
  • 网站 例做网站指导
  • dw建设网站的代码模板做网站需要买
  • 海南省建设厅官方网站装饰网站建设价格
  • .net网站做增删改漂亮的wordpress论坛
  • 公司宣传网站怎么做网站优化原理
  • 公司建设网站的优势wordpress自动上传至cdn
  • 潍坊网站设计公司软件公司招聘信息
  • 做网站的一些好处重庆网站优化软件
  • 个人门户网站开发建筑方案设计流程步骤
  • 海外网站空间全球新闻最新消息
  • 龙岗网站建设公司网络服务怎样接做网站的活
  • 广州的兼职网站建设营销系统有哪些
  • 怎么做百度网盘链接网站做阿里巴巴网站运营
  • 做一下网站需要什么条件搜索引擎广告例子
  • 外贸多语种网站推广新源网站建设
  • 国外做做网站tp3.2.3网站开发实例
  • 网页作业班级网站怎么做德州哪家网站建设好
  • 网站建设鼎网络哈尔滨网站建设贴吧
  • 网站404怎么做搭建小程序
  • 做试管网站城口集团网站建设
  • 太原住房和城乡建设部网站淮安设计网站
  • 网站后台统计怎么启动啊南通科技网站建设
  • 网站怎么做才能被百度抓取到网站制作的要求
  • 破解软件网站广告联盟大全
  • 采集网站如何收录南山建网站公司
  • 免费网站建设可信吗专业的网站开发服务
  • 自己做网站建设制作群辉怎么做网站
  • 做网站 什么主题较好电脑版商城网站建设