2차원 배열
2차원 배열은 세로길이(행의 개수), 가로길이(열의 개수)를 필요로 합니다. 아래는 2차원 배열 int example[2][4]의 예시입니다.
int [0][0] |
int [0][1] |
int [0][2] |
int [0][3] |
int [1][0] |
int [1][1] |
int [1][2] |
int [1][3] |
2차원 배열의 순회
n x m 배열의 n*m 개의 모든 원소를 조사하는 방법
행 우선 순회
행을 우선으로 Array의 원소를 조사하는 방법입니다.
1 2 3 4 5 | for(int i=0; i<4; i++) { for(int j=0; j<5; j++) { //arr[i][j] } } | cs |
열 우선 순회
열을 우선으로 Array의 원소를 조사하는 방법입니다.
1 2 3 4 5 | for(int j=0; j<5; j++) { for(int i=0; i<4; i++) { //arr[j][i] } } | cs |
지그재그 순회
첫 행은 우측으로, 다음 행은 좌측으로 진행하여 Array의 원소를 조사하는 방법입니다.
1 2 3 4 5 6 | for(int i=0; i<4; i++) { for(int j=0; j<5; j++) { //arr[i][j+(5-1-2*j)*(i%2)]; } } | cs |
델타를 이용한 탐색
2차 Array의 한 좌표에서 네 방향의 인접 Array 요소를 탐색할 때 사용하는 방법입니다. 델타 값은 한 좌표에서 네 방향의 좌표와 x,y의 차이를 저장한 Array입니다. 델타값을 이용하면 특정 우너소의 상하좌우에 위치한 원소에 접근할 수 있습니다.
전치행렬
행과 열의 값이 반대인 행렬을 말합니다.
1 2 3 4 5 6 7 8 9 | for(int i=0; i<2; i++) { for(int j=0; j<2; j++) { if(i > j ) { int temp = arr[i][j]; arr[i][j] = temp[j][i]; tem[[j][i] = temp; } } } | cs |
'알고리즘 > SW Expert Academy' 카테고리의 다른 글
검색 (0) | 2019.02.09 |
---|---|
부분 집합 문제 (0) | 2019.02.09 |
Sort(정렬)에 대해서 (1) - Bubble Sort와 Counting Sort (0) | 2019.01.20 |
탐욕 알고리즘(Greedy Algorithm)을 이용한 Baby-gin (0) | 2019.01.20 |
완전 검색을 이용한 Baby-gin (0) | 2019.01.19 |