Programa Java para encontrar la transposición de una array

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].matrix-transpose

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.
Producción:

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.
Producción:

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");
        }
    }
}
Producció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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *