[Locked] Sparse Matrix Multiplication
2016-02-19 18:52
225 查看
Given two sparse matrices A and B, return the result of AB.
You may assume that A's column number is equal to B's row number.
Example:
分析:
第1种,求解一般矩阵乘积的方法;第2种,根据稀疏矩阵的特性减少0*x的计算次数。
代码1:
代码2:
待补充
You may assume that A's column number is equal to B's row number.
Example:
A = [ [ 1, 0, 0], [-1, 0, 3] ] B = [ [ 7, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 1 ] ] | 1 0 0 | | 7 0 0 | | 7 0 0 | AB = | -1 0 3 | x | 0 0 0 | = | -7 0 3 | | 0 0 1 |
分析:
第1种,求解一般矩阵乘积的方法;第2种,根据稀疏矩阵的特性减少0*x的计算次数。
代码1:
public: vector<vector<int>> multiply(vector<vector<int>>& A, vector<vector<int>>& B) { int m = A.size(), n = B.size(), p = B[0].size(); vector<vector<int> >C(m, vector<int>(p, 0)); for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { if(A[i][j]) { for(int k = 0; k < p; k++) { C[i][k] += A[i][j] * B[j][k]; } } } } return C; } };
代码2:
待补充
相关文章推荐
- 3列、2列自适应布局,中部内容优先显示3列布局等方法
- 神奇的计算器dc和bc
- BZOJ3591: 最长上升子序列
- 讲讲移动测试的流程
- 安装中文CentOS 6.5的详细步骤
- ACM数论之旅11---浅谈指数与对数(长篇)(今天休息,不学太难的数论> 3<)
- iOS OC内存管理、ARC、property属性、__strong、__weak、__block——iOS 编码复习(一)
- Android中AsyncTask使用详解
- ZOJ-2971-Give Me the Number【5th浙江省赛】
- LinSSID:图形化的wifi扫描器在GNU Linux(Debian系)下的安装
- 三层总结
- leetcode笔记--Insertion Sort List
- 【BZOJ 1013】【JSOI2008】球形空间产生器sphere 高斯消元基础题
- 火狐表格错乱兼容性问题
- [Protractor] Running tests on multiple browsers
- 【spider】之 Scrapy初次体验
- Java认证考试实例疑难辨析(10)
- 简单代码收集
- 从视频中获取每一帧图片(包括第一帧)
- leetcode第19题——*Remove Nth Node From End of List