美文网首页
[数据结构]矩阵的快速转置算法 解题报告

[数据结构]矩阵的快速转置算法 解题报告

作者: vouv | 来源:发表于2017-03-26 14:28 被阅读0次

Problem Description

数据压缩是提高传输、存储效率一种技术。教材第5章介绍了两种简单的压缩存储方法。
本实验要求实现三元组顺序表表示下的矩阵快速转置算法。
输入:

稀疏矩阵的行数、列数、非零元个数(三个数都大于0)

]以行为主序输入稀疏矩阵三元组表

输出:

辅助数组num[ ]

辅助数组cpot[ ]

以行为主序输出对应的转置矩阵三元组表


测试输入

6 7 8
1 2 12
1 3 9
3 1 -3
3 6 14
4 3 24
5 2 18
6 1 15
6 4 -7

测试输出

num:2,2,2,1,0,1,0,
cpot:1,3,5,7,8,8,9,
1,3,-3
1,6,15
2,1,12
2,5,18
3,1,9
3,4,24
4,6,-7
6,3,14

AcCode

//
//  main.cpp
//  矩阵的快速转置算法
//
//  Created by jetviper on 2017/3/26.
//  Copyright © 2017年 jetviper. All rights reserved.
//


#include<stdio.h>
#define MAX 100
typedef struct {
    int i, j, e;
}list;

typedef struct {
    list data[MAX];
    int mu, nu, tu;
}TS;


int main()
{
    TS M,T;
    int num[MAX], cpot[MAX];
    int i, t, p, q, col;
    scanf("%d%d%d", &M.mu, &M.nu, &M.tu);
    
    for (i = 0; i < 100; i++)num[i] = 0;
    for (i = 1; i <= M.tu; i++)scanf("%d%d%d", &M.data[i].i, &M.data[i].j, &M.data[i].e);
    
    for (t = 1; t <= M.tu; ++t)++num[M.data[t].j];
    
    cpot[1] = 1;
    for (col = 2; col <= M.nu; col++)cpot[col] = cpot[col - 1] + num[col - 1];
    
    printf("num:");
    for (i = 1; i <= M.nu; i++)printf("%d,", num[i]);
    printf("\ncpot:");
    for (i = 1; i <= M.nu; i++)printf("%d,", cpot[i]);
    printf("\n");
    
    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 (i = 1; i <= M.tu; i++)printf("%d,%d,%d\n", T.data[i].i, T.data[i].j, T.data[i].e);
    return 0;
}

相关文章

  • [数据结构]矩阵的快速转置算法 解题报告

    Problem Description 数据压缩是提高传输、存储效率一种技术。教材第5章介绍了两种简单的压缩存储方...

  • 三元组压缩存储稀疏矩阵的转置

    数据结构的一道上机题 主要实现快速转置算法 参考博客: 稀疏矩阵的压缩存储及其转置算法 参考博客把思路讲的很清晰了...

  • 算法练习100天-第5天

    列别:数组 题目: 867. 转置矩阵 我的解题思路: 转置矩阵就是交换矩阵的行索引、列索引 定义一个新的二维数组...

  • 2019-02-22 Day 48 待提高

    1.转置矩阵 给定一个矩阵 A, 返回 A 的转置矩阵。 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列...

  • 机器学习里的数学基础——矩阵论

    1. 基本概念 1.1 向量及其转置 一个维列向量及其转置可记作: 1.2 矩阵及其转置 一个的矩阵及其的转置矩阵...

  • 2019-05-21(矩阵的顺序储存----一维数组)

    采用数组的形式保存数据 就需要考虑空间利用率的问题:稀疏矩阵的存储矩阵的转置的两种算法:一种是先转置后按照行主序进...

  • 2019-03-13

    矩阵的转置则称 为A的转置,记为 设为矩阵,则为 矩阵 为对称矩阵,则 为反对称矩阵,则 为n阶方阵,,为对称矩阵...

  • 正交矩阵

    转置矩阵为其逆矩阵。

  • 矩阵

    参考资料转置矩阵伴随矩阵

  • 12、转置矩阵

    1、题目如下: 给定一个矩阵 A, 返回 A 的转置矩阵。 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与...

网友评论

      本文标题:[数据结构]矩阵的快速转置算法 解题报告

      本文链接:https://www.haomeiwen.com/subject/fyqkottx.html