C++ 程序 查找矩阵的转置
矩阵的转置是通过将行变为列,列变为行来获得的。换句话说,将 A [i] [j] 改为 A [j] [i] 获得 A [ ] [ ] 的转置。
对于方形阵列:
下面的程序查找 A [ ] [ ] 的转置并将结果存储在 B [ ] [ ] 中,我们可以为不同的维度更改 N。
输出:
时间复杂度: O(N*N),因为有两个嵌套循环。
空间复杂度: O(N*N),因为创建了2D数组以存储转置。
对于长方形矩阵:
下面的程序查找 A [ ] [ ] 的转置并将结果存储在 B [ ] [ ] 中。
输出:
时间复杂度: O(N*M),因为有两个嵌套循环。
空间复杂度: O(N*M),因为创建了2D数组以存储转置。
对于方形矩阵的原地转置:
输出:
时间复杂度: O(n)
- 转置的时间复杂度为O(n + m),其中n是列数,m是矩阵中非零元素的数量。
- 使用单位矩阵作为参考矩阵转置矩阵的计算时间为O(m*n)。
- 假设给定的矩阵是一个方阵,运行时间将为O(n 2 )。
辅助空间: O(1)。