試題 演算法提高 矩陣轉置

2021-10-23 06:27:11 字數 1422 閱讀 1333

思路:建立乙個新的矩陣,利用b[j][i] = a[i][j]得到新的矩陣的值,輸出即可,詳看**。

測試樣例有個錯誤, 只有90分。

資源限制

時間限制:1.0s 記憶體限制:256.0mb

【問題描述】

給定乙個n×m矩陣相乘,求它的轉置。其中1≤n≤20,1≤m≤20,矩陣中的每個元素都在整數型別(4位元組)的表示範圍內。

【輸入格式】

第一行兩個整數n和m;

第二行起,每行m個整數,共n行,表示n×m的矩陣。資料之間都用乙個空格分隔。

【輸出格式】

共m行,每行n個整數,資料間用乙個空格分隔,表示轉置後的矩陣。

樣例輸入24

3476-54

7-45

239樣例輸出34-

4765-

5423

79

**:

def

fun(s,t,n,m)

:for i in

range

(n):

for j in

range

(m):

t[j]

[i]= s[i]

[j]return t

if __name__ ==

"__main__"

: nums =

list

(map

(int

,input()

.split())

) n = nums[0]

m = nums[1]

if1<=n<=

20and

1<=m<=20:

s =t =[[

0]* n for i in

range

(m)]

# m*n的矩陣且值都為0

i =0while i < n:

list

(map

(int

,input()

.split())

))i +=

1 t = fun(s,t,n,m)

# 列印

for i in

range

(len

(t))

: count =

0# 計數

for j in

range

(len

(t[0])

):print

(t[i]

[j],end=

' ')

count +=

1if count ==

len(t[0]

):# 判斷一行是否列印完

print

()

稀疏矩陣的轉置(矩陣轉置和快速轉置)

實現矩陣的轉置 1.將矩陣的行列值相互轉換。2.將每個三元組中的i和j交換。3.重排三元組之間的次序便可實現矩陣的轉置。void transposesmatrix tsmatrix m,tsmatrix t return transposesmatrix快速轉置的原理是 如果能預先確定矩陣m中每一列...

稀疏矩陣的轉置演算法

關於陣列,大家並不陌生,幾乎所有的程式語言都把陣列型別設為了固有型別。陣列是n n 1 個相同型別資料元素構成的有限序列,它是下標 值偶對的集合,即集合中的每乙個元素都是由乙個值和一組下標組成的。陣列一般分為一維 二維 三維陣列,其中二維陣列也稱為矩陣,本文主要講解對於矩陣中稀疏矩陣的相關操作演算法...

矩陣的快速轉置演算法

解答補充 資料壓縮是提高傳輸 儲存效率一種技術。本實驗要求實現三元組順序表表示下的矩陣快速轉置演算法。稀疏矩陣的行數 列數 非零元個數 三個數都大於0 以行為主序輸入稀疏矩陣三元組表 輔助陣列num 輔助陣列cpot 以行為主序輸出對應的轉置矩陣三元組表 6 7 8 1 2 12 1 3 9 3 1...