重写fastTranspose, 把两个数组 rowTerms和startingPos 合成一个数组。
来源:互联网 发布:nginx中配置pathinfo 编辑:程序博客网 时间:2024/06/13 23:43
书上程序:
void fastTranspose(term a[], term b[]){ //书上代码 //the transpose of a is placed in b int rowTerms[MAX_COL], startingPos[MAX_COL]; int i, j, numCols = a[0].col, numTerms = a[0].value; b[0].row = numCols; b[0].col = a[0].row; b[0].value = numTerms; if(numTerms > 0){ //非零矩阵 for(i = 0; i<numCols; i++) rowTerms[i] = 0; for(i = 1; i <= numTerms; i++) rowTerms[a[i].col]++; //计算每行非0值; startingPos[0] = 1; for(i = 1; i <= numCols; i++) startingPos[i] = startingPos[i-1] + rowTerms[i-1]; for(i = 1; i <= numTerms; i++){ j = startingPos[a[i].col]++; b[j].row = a[i].col; b[j].col = a[i].row; b[j].value = a[i].value; } } }
更改后 将两个数组合并成一个,SPR[],前半是每行的非0元个数,后半是每行的起始position
void fastTranspose(term a[], term b[]){ // the transpose of a is placed in b int SPR[MAX_COL * 2]; int i, j, numCols = a[0].col, numTerms = a[0].value; b[0].row = numCols; b[0].col = a[0].row; b[0].value = numTerms; if(numTerms > 0){ //非零矩阵 for(i = 0; i<numCols; i++) SPR[i] = 0; for(i = 1; i <= numTerms; i++) SPR[a[i].col]++; //计算每行非0值; SPR[a[0].value] = 1; for(i = a[0].value; i <= a[0].value + numCols; i++) SPR[i] = SPR[i-1] + SPR[i-1-a[0].value]; for(i = 1; i <= numTerms; i++){ j = SPR[a[i].col + a[0].value]++; b[j].row = a[i].col; b[j].col = a[i].row; b[j].value = a[i].value; } } }
0 0
- 重写fastTranspose, 把两个数组 rowTerms和startingPos 合成一个数组。
- c++ 两个有序的一维数组合成一个
- leetcode 两个有序数组合成
- java实现把两个有序数组合并到一个数组
- 谈JAVA中如何将两个byte数组合成一个数组
- java中两个一维数组怎么能合成一个二维数组!!!请大哥门指点!!!
- 数据结构 稀疏矩阵 重写函数fast_transpose,使其不用两个数组而仅用一个数组存放row_terms和starting_pos
- 链接数组的四种方法(把两个数组链接成一个数组)
- Java中把两个数组合并为一个
- Java中如何把两个数组合并为一个
- 算法-Java中如何把两个数组合并为一个
- Java中如何把两个数组合并为一个
- Java中如何把两个数组合并为一个
- Java中如何把两个数组合并为一个
- Java中如何把两个数组合并为一个
- Java中如何把两个数组合并为一个
- Java中如何把两个数组合并为一个
- Java中如何把两个数组合并为一个
- Rails学习总结(1)
- Printf()_格式控制
- Django中表单的用法深探
- 数据库连接
- Oracle 格式化日期
- 重写fastTranspose, 把两个数组 rowTerms和startingPos 合成一个数组。
- 花生壳解析错误怎么办
- DuiLib——xml配置项
- 基本的 (优化过的)配置Nginx
- SQL Server 数据库定时自动备份
- C#(WPF)为Grid添加实线边框
- 常用正则表达式
- 读设计师要懂心理学笔记2-人如何阅读
- CRT连接不上ubuntu