iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
自我挑戰組

資料結構面面觀系列 第 20

矩陣介紹(上)

  • 分享至 

  • xImage
  •  

矩陣(MATRICES)

【定義】

類似二維陣列,它是利用一個m× n矩陣來表示這個矩陣擁有

m列( Rows ) ส和n行( Columns ) °

一般而言,資料結構上常用到的矩陣有四種:

矩陣轉置(Matrix Transposition)
矩陣相加(Matrix Addition)
矩陣相乘(Matrix Multiplication)
稀疏矩陣(Sparse Matrix)

矩陣轉置 (MATRIX TRANSPOSITION)

【定義】

假設有一個(m × n)矩陣A.則我們可以將A矩陣轉置為(n × m)的B矩陣,並且B矩陣的第j列第i行的元素等於A矩陣的第列第j行的元素。

矩陣轉置演算法 程式範例

//轉換副程式(A矩陣的m×n轉成B矩陣的nxm

static void matrix_transpose(int m, int n, int A[][], int B[][])

{

 int i, j;

 for (i = 0; i < m; i++)

   for(j = 0; j < n; j++)

     B[j][i] = A[i][j];

}

矩陣相加(MATRIX ADDITION)

【定義】

假設A,B都是(m × n)矩陣,則我們可以將A矩陣加上B矩陣以得到一個C矩陣,並且此C矩陣亦為(m × n)矩陣。因此:

在C矩陣上的第冽列第j行的元素必定等於A矩陣的第i列第j行的元素加上

B矩陣的第i列第j行的元素。

矩陣相加之演算法 程式範例

/假設A,B,C均為mxn陣列,這個函數要求出C=A+B/

static void matrix_Add(int m, int n, int A[][], int B[][], int C[][])

{

int i, i;

for (1 = 0; i < m; i++)

for (j = 0; i < n; j++)

   C[i][j] = A[i][j] + B[i][j];

}


上一篇
陣列如何在記憶體中表示 ?
下一篇
矩陣介紹(下)
系列文
資料結構面面觀24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言