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

临沂做网站找哪家好如何建网站要什么条件

临沂做网站找哪家好,如何建网站要什么条件,网站推广工作计划,关键词林俊杰的寓意稀疏矩阵的快速转置 如图给出一个稀疏矩阵,要求表示出它的转置矩阵 由这个矩阵我们能轻松得到它的三元组顺序表 6行(x坐标)7列(y坐标)8个元素121213931-3361443245218611564-7 接下来我们同样把转置后的矩阵的三元组…

稀疏矩阵的快速转置

如图给出一个稀疏矩阵,要求表示出它的转置矩阵

在这里插入图片描述

由这个矩阵我们能轻松得到它的三元组顺序表

6行(x坐标)7列(y坐标)8个元素
1212
139
31-3
3614
4324
5218
6115
64-7

接下来我们同样把转置后的矩阵的三元组顺序表表示出来

在这里插入图片描述

7行(x坐标)6列(y坐标)8个元素
13-3
1615
2112
2518
319
3424
46-7
6314

我们要如何才能通过第一个三元组顺序表得到第二个三元组顺序表呢

按照最简单的思路,我们一般会通过双重循环

朴素的双重循环

按照列坐标从头到尾遍历,遇到1的时候,将i j互换放入到第二个三元组顺序表第一个位置

按照这样的方法,每一次都有可能需要遍历n次,一共需要走n趟,时间复杂度会是O(n²)级别


那么有没有一种方法能一步到位呢

快速转置

为实现快速转置,我们引入num数组和cpot数组

num[col]:表示矩阵M中第col列中非零元个数

cpot[col]:指示M中第col列第一个非零元在转置后的三元组顺序表中位置

显然有:

cpot[1] = 1;
cpot[col] = cpot[col - 1] + num[col - 1]; //第col - 1列第一个非零元的位置加上第col - 1列非零元的个数

由此,我们能构建出col、num[col]、cpot[col]的一个表

col1234567
num[col]2221010
cpot[col]1357889

这样我们遍历最开始的三元组顺序表

第一个列是2,我们查找 co l为 2 的 cpot[col] ,为 3,那么将原表第一行放入到转置后的第三个位置,同时 col 为 2 的 cpot[col] += 1

cpot[col] + 1 是因为若这一列还有非零元,那么肯定会是它的下一个位置

代码如下

Status FastTransposeSMatrix( TSMatrix M, TSMatrix &T ) {  // 采用三元组顺序表存储表示,求稀疏矩阵 M 的转置矩阵 TT.mu = M.nu; T.nu = M.mu; T.tu = M.tu; if (T.tu) { // mu行 nu列for (col=1; col<=M.nu; ++col)    num[col] = 0; for (t=1; t<=M.tu; ++t)   ++ num[M.data[t].j];  // 求 M 中各列非零元的个数cpot[1] = 1;for (col=2; col<=M.nu; ++col)  cpot[col] = cpot[col -1] + num[col -1]; // 求 M 中各列的第一个非零元在 T.data 中的序号 for (p=1; p<=M.tu; ++p) {  // 转置矩阵元素  col = M.data[p].j;    q = cpot[col]; T.data[q].i = M.data[p].j;    T.data[q].j = M.data[p].i; T.data[q].e = M.data[p].e;   ++ cpot[col];  } // for} // ifreturn OK;
} // FastTransposeSMatrix
http://www.dtcms.com/wzjs/549158.html

相关文章:

  • 网站搜索框微信扫码登记小程序
  • 东莞销售网站建设360建网站好不好?
  • 专业制作网站建设网站做app的软件有哪些
  • 天动力网站开发产品设计平台有哪些
  • 手机怎么样自己做网站wordpress打印代码
  • 苏州大型网站建设腾讯云服务器可以干嘛
  • 做公开网站的步骤怎么找上海网站建
  • 网站买流量是怎么做的外贸网站seo推广教程
  • 制作网站的公司电话号码手机网站有什么区别吗
  • 网站域名到期如何续费湖州住房和城乡建设局网站
  • 网站添加标签云广州网站建设网站定制
  • 鄂州市住房和城乡建设部网站h5个人网站源码
  • 成品网站模块公众号开发者密码怎么获得
  • 欢迎访问中国建设银行网站个人客户6深圳影视广告制作预算
  • 怎么建设自己产品网站杭州公司官方网站制作
  • 怎么在建筑网站做翻译兼职sem和seo的区别
  • 西南交通建设集团网站企业的网站建设与设计论文
  • wp网站模板帝国转wordpress
  • 二级域名做很多网站受雇去建设网站类网站
  • 装修公司网站怎么做的手机网站建设公司
  • 餐饮企业网站设计网站服务器建设的三种方法
  • 北京网站seo技术厂家正规网站建设加盟合作
  • 盐城市建设局网站设计备案资料免费网站建站塔山双喜
  • win7本地做网站江宁住房和城乡建设局网站
  • 做网站的公司排行网站模板欣赏
  • 溧阳建设局网站6网络营销的推广方式
  • 网站备案安全承诺书摄影师招聘网站
  • 用vs做网站的登录wordpress ajax顶踩
  • 星乐seo网站关键词排名优化烟台百度网站
  • 怎么检查网站有没有被挂马美工培训班哪家好