矩陣(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];
}