La transposición de una array se obtiene cambiando filas a columnas y columnas a filas. En otras palabras, la transposición de A[][] se obtiene cambiando A[i][j] por A[j][i].
Para array cuadrada:
El siguiente programa encuentra la transposición de A[][] y almacena el resultado en B[][], podemos cambiar N por una dimensión diferente.
Java
// Java Program to find // transpose of a matrix class GFG { static final int N = 4; // This function stores transpose // of A[][] in B[][] static void transpose(int A[][], int B[][]) { int i, j; for (i = 0; i < N; i++) for (j = 0; j < N; j++) B[i][j] = A[j][i]; } // Driver code public static void main (String[] args) { int A[][] = { {1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}, {4, 4, 4, 4}}; int B[][] = new int[N][N], i, j; transpose(A, B); System.out.print("Result matrix is \n"); for (i = 0; i < N; i++) { for (j = 0; j < N; j++) System.out.print(B[i][j] + " "); System.out.print("\n"); } } } // This code is contributed by Anant Agarwal.
Result matrix is 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Tiempo Complejidad : O(n 2 )
Espacio Auxiliar : O(n 2 )
Para array rectangular:
El siguiente programa encuentra la transposición de A[][] y almacena el resultado en B[][].
Java
// Java Program to find // transpose of a matrix class GFG { static final int M = 3; static final int N = 4; // This function stores transpose // of A[][] in B[][] static void transpose(int A[][], int B[][]) { int i, j; for (i = 0; i < N; i++) for (j = 0; j < M; j++) B[i][j] = A[j][i]; } // Driver code public static void main (String[] args) { int A[][] = { {1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}}; int B[][] = new int[N][M], i, j; transpose(A, B); System.out.print("Result matrix is \n"); for (i = 0; i < N; i++) { for (j = 0; j < M; j++) System.out.print(B[i][j] + " "); System.out.print("\n"); } } } // This code is contributed by Anant Agarwal.
Result matrix is 1 2 3 1 2 3 1 2 3 1 2 3
Complejidad de tiempo: O(n*m)
Espacio Auxiliar: O(n*m)
In situ para array cuadrada:
Java
// Java Program to find // transpose of a matrix class GFG { static final int N = 4; // Finds transpose of A[][] in-place static void transpose(int A[][]) { for (int i = 0; i < N; i++) for (int j = i+1; j < N; j++) { int temp = A[i][j]; A[i][j] = A[j][i]; A[j][i] = temp; } } // Driver code public static void main (String[] args) { int A[][] = { {1, 1, 1, 1}, {2, 2, 2, 2}, {3, 3, 3, 3}, {4, 4, 4, 4}}; transpose(A); System.out.print("Modified matrix is \n"); for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) System.out.print(A[i][j] + " "); System.out.print("\n"); } } }
Modified matrix is 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Complejidad temporal: O(n 2 )
Espacio Auxiliar: O(1)
¡ Consulte el artículo completo sobre Programa para encontrar la transposición de una array para obtener más detalles!
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA