矩阵倒置
Posted 鹏达君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵倒置相关的知识,希望对你有一定的参考价值。
文字描述
倒置:把矩阵A的行换成相应的列,得到的新矩阵称为A的转置矩阵,记作AT或A。
通常矩阵的第一列作为转置矩阵的第一行,第一行作为转置矩阵的第一列。
那么,在已经存储好的三元组的顺序存储结构中,如果如何实现矩阵的倒置呢???
第一反应肯定是直接遍历,然后行列对换即可,但是因为要求按照行号优先(也可以是列号优先,但是必须倒置前和倒置后都按照一种优先的方式排列),所以如果直接对换,那么就会变得没有顺序,还需要一次排序,这样反而不妙。
1、正常倒置
既然要进行行列对换,那么对换后的行号就是对换前的列号,因此可以多次扫描列号,
从列号小的开始扫描对换,那么进行对换后一定能够满足行号优先
2、快速倒置
很显然对于正常的倒置来说,要多次扫描整个存储空间,浪费大量的时间,因此可以对其进行优化
我们可以首先记录每一列(倒置后就是行)有多少元素,然后预留出空间
然后一遍扫描直接将其元素放入合适的预留位置即可
代码实现
1、正常倒置
2、快速倒置
以上是关于矩阵倒置的主要内容,如果未能解决你的问题,请参考以下文章