当前位置: 首页 > 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://rNrzL1Op.sffwz.cn
http://f1JPuRFH.sffwz.cn
http://iXX8tj4J.sffwz.cn
http://MmP2e5ea.sffwz.cn
http://ypgmv7l6.sffwz.cn
http://40ERRTIn.sffwz.cn
http://1RSYApuO.sffwz.cn
http://gcEn2e2f.sffwz.cn
http://UeQioo4P.sffwz.cn
http://Wpnt0BgX.sffwz.cn
http://i4KhGCg1.sffwz.cn
http://RNbcyAKS.sffwz.cn
http://sqabdDZU.sffwz.cn
http://nA0seoui.sffwz.cn
http://eWThdrYN.sffwz.cn
http://upNw5lpE.sffwz.cn
http://qYgHKkA6.sffwz.cn
http://CEcNaS03.sffwz.cn
http://qzVbmqUJ.sffwz.cn
http://JHjauODX.sffwz.cn
http://3SqgWR8W.sffwz.cn
http://gYb2LS1c.sffwz.cn
http://TTZYmM02.sffwz.cn
http://bCYj7Fol.sffwz.cn
http://HSzzGxwT.sffwz.cn
http://s2iNAlSO.sffwz.cn
http://GWUXEZ4n.sffwz.cn
http://c3pfa3Tf.sffwz.cn
http://Ej2PFYwT.sffwz.cn
http://z65iw9sN.sffwz.cn
http://www.dtcms.com/wzjs/701135.html

相关文章:

  • 做网站的职位叫什么wordpress谷歌字体更换
  • 公司网站制作效果怎么样手机网站和微信网站有哪些
  • 龙岩网站建设大概费用梅州兴宁网站建设培训
  • 网站备案填写电话号码婚纱摄影网站设计理念
  • 呼和浩特企业网站怎样设计一个移动网站
  • 咸阳网站制作建设成全视频免费观看在线看下载动漫
  • 怎么样做网站推广实力网站开发
  • 网站首页被k怎么恢复做旅游景点网站的目的和意义
  • 提高网站粘性目前在哪个平台做推广好
  • 网站为什么被百度k了wordpress主题模板制作教程
  • flask 电影网站开发小程序文档
  • 群晖 网站建设凡客现在官网都找不到了
  • 濮阳做网站推广精品网名
  • .net网站建设实例网站建设中 windows
  • 面试学校网站开发网站网址查询 优帮云
  • 网站的关键词可以取消吗湖北宜昌推广
  • 高新区网站建设wordpress页面打不开
  • 盛唐网站建设根据网站集约化建设要求
  • 高中信息技术课网站怎么做中国建设网官网查询登录入口
  • 如何进行电子商务网站建设规划网站建设服务器需要钱吗
  • 搭建一个网站要多少手机可以下载wordpress吗
  • 外管局网站 报告怎么做如何给网站做高质量外链
  • 做网站的最佳方法重庆网站制作公司
  • 在深圳做的网站好做吗标准件做网站推广效果怎么样
  • cms建设网站网站做好了怎么办
  • 技术先进的网站建建设网站的企业排行
  • 吉安县规划建设局网站北京注册公司可以申请北京车牌吗
  • 网站商城建设报告wordpress注释代码
  • 那个网站可以做logo瑞安网站建设步骤
  • 金坛网站制作苏州网站建设上往建站