在经典算法中, 无论a[i][k]或b[k][j]的值是否为0 ,都要进行一次乘法运算,而实际上,两个中只要有一个为0 ,其积为0 。特别是当m 、 n 、 p很大且矩阵又是稀疏矩阵时,上述经典算法做了许多无效的运算。 if (a.data[p].col==col) { b.data[q].row=a.data[p].col ; b.data[q].col=a.data[p].row ; b.data[q].value=a.data[p].value; q++ ; } } } 算法分析:本算法主要的工作是在p和col的两个循环中完成的,故算法的时间复杂度为O(cn?tn),即矩阵的列数和非0元素的个数的乘积成正比。 而一般传统矩阵的转置算法为: for(col=1; col=n ;++col) for(row=0 ; row=m ;++row) b[col][row]=a[row][col] ; 其时间复杂度为O(n?m)。当非零元素的个数tn和m?n同数量级时,算法TransMatrix的时间复杂度为O(m?n2)。 由此可见,虽然节省了存储空间,但时间复杂度却大大增加。所以上述算法只适合于稀疏矩阵中非0元素的个数tn远远小于m?n的
您可能关注的文档
最近下载
- 20S515 钢筋混凝土及砖砌排水检查井.docx VIP
- 网优入门手册(修改版).pdf VIP
- 2026年社区矫正工作人员业务考试题库及答案.docx VIP
- 电信行业无线部无线工程师无线信号优化手册.docx VIP
- 2026年北京市中考数学试卷真题(含官方答案及解析).pdf VIP
- 人民检察院数智案管平台建设方案.docx VIP
- 中国能建PPT:绿电直连政策及新能源就近消纳项目电价机制分析.pdf VIP
- 公路水运工程淘汰危及生产安全施工工艺、设备和材料目录(第一批 ).pdf VIP
- 60kgm钢轨9号单开道岔-研线1609 铺设图.pdf
- 通信行业无线部无线工无线网络优化手册.docx VIP
原创力文档

文档评论(0)