Programa de Python 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 Square Matrix: El siguiente programa encuentra la transposición de A[][] y almacena el resultado en B[][], podemos cambiar N por una dimensión diferente. 

Python3

# Python3 Program to find
# transpose of a matrix
 
N = 4
 
# This function stores
# transpose of A[][] in B[][]
 
def transpose(A,B):
 
 for i in range(N):
  for j in range(N):
   B[i][j] = A[j][i]
 
# driver code
A = [ [1, 1, 1, 1],
 [2, 2, 2, 2],
 [3, 3, 3, 3],
 [4, 4, 4, 4]]
 
 
B = A[:][:] # To store result
 
transpose(A, B)
 
print("Result matrix is")
for i in range(N):
 for j in range(N):
  print(B[i][j], " ", end='')
 print()
  
# This code is contributed by Anant Agarwal.
Producción:

Result matrix is
1  2  3  4  
2  2  3  4  
3  3  3  4  
4  4  4  4

Complejidad de Tiempo: 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[][]. 

Python3

# Python3 Program to find
# transpose of a matrix
 
M = 3
N = 4
 
# This function stores
# transpose of A[][] in B[][]
 
def transpose(A, B):
 
 for i in range(N):
  for j in range(M):
   B[i][j] = A[j][i]
 
# driver code
A = [ [1, 1, 1, 1],
 [2, 2, 2, 2],
 [3, 3, 3, 3]]
 
 
# To store result
B = [[0 for x in range(M)] for y in range(N)]
 
transpose(A, B)
 
print("Result matrix is")
for i in range(N):
 for j in range(M):
  print(B[i][j], " ", end='')
 print() 
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:

Python3

# Python3 Program to find
# transpose of a matrix
 
N = 4
 
# Finds transpose of A[][] in-place
def transpose(A):
 
 for i in range(N):
  for j in range(i+1, N):
   A[i][j], A[j][i] = A[j][i], A[i][j]
 
# driver code
A = [ [1, 1, 1, 1],
 [2, 2, 2, 2],
 [3, 3, 3, 3],
 [4, 4, 4, 4]]
 
transpose(A)
 
print("Modified matrix is")
for i in range(N):
 for j in range(N):
  print(A[i][j], " ", end='')
 print()
  
# This code is contributed by Anant Agarwal.
Producción:

Modified matrix is
1  2  3  4  
1  2  3  4  
1  2  3  4  
1  2  3  4

Complejidad de Tiempo : 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 *