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

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

作者: 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;
    }
    

    相关文章

      网友评论

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

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