首页 > 代码库 > 矩阵倒置
矩阵倒置
文字描述
倒置:把矩阵A的行换成相应的列,得到的新矩阵称为A的转置矩阵,记作AT或A。
通常矩阵的第一列作为转置矩阵的第一行,第一行作为转置矩阵的第一列。
那么,在已经存储好的三元组的顺序存储结构中,如果如何实现矩阵的倒置呢???
第一反应肯定是直接遍历,然后行列对换即可,但是因为要求按照行号优先(也可以是列号优先,但是必须倒置前和倒置后都按照一种优先的方式排列),所以如果直接对换,那么就会变得没有顺序,还需要一次排序,这样反而不妙。
1、正常倒置
既然要进行行列对换,那么对换后的行号就是对换前的列号,因此可以多次扫描列号,
从列号小的开始扫描对换,那么进行对换后一定能够满足行号优先
2、快速倒置
很显然对于正常的倒置来说,要多次扫描整个存储空间,浪费大量的时间,因此可以对其进行优化
我们可以首先记录每一列(倒置后就是行)有多少元素,然后预留出空间
然后一遍扫描直接将其元素放入合适的预留位置即可
代码实现
1、正常倒置
2、快速倒置
矩阵倒置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。