열우선 행렬, 정방, 일반 밴드행렬 분석
- 최초 등록일
- 2010.09.14
- 최종 저작일
- 2009.09
- 7페이지/ 한컴오피스
- 가격 1,500원
소개글
열우선 행렬, 정방, 일반 밴드행렬 분석
목차
1.문제제기
2.문제분석
3.문제해결
본문내용
1 - (1) . 문제제기 :
n by n 정방행렬을 표현하는 배열이 있을 때, A[u1][u2].....를 열우선(Column Major)로 나타낼 때, 일반식을 구하시오.
2. 문제분석 & 문제해결 :
우선 배열에 대한 개념이해가 필요하다. 수학에서 사용하는 행렬(matrix)는 숫자나 문자등을 네모나 괄호를 사용하여 배열한 것으로 표현된다. 이러한 행렬을 컴퓨터에서 메모리공간을 사용하여 표현하려는 시도에서 배열이란 개념이 사용된다.
배열에는 차원의 개념이 있다. 1차원배열은 단순히 선형으로 연결된 나열이기 때문에 논의하지 않겠고, 2차원 배열을 살펴보면,
(2차원 배열 표현)
위의 그림과 같이 표현된 2차원 배열이 있다. 수학에서는 일반적으로 index를 1부터 시작하여 1행 1열과 같은 표현을 사용하는데, 컴퓨터에서는 첫 번째 인덱스를 0부터 시작하는 관행에 맞춰서 생각한다. C언어에서 배열을 사용할 때 메모리공간이 어떠한 방식으로 할당되는지를 살펴볼 필요가 있다. int a[2][5]와 같은 선언을 생각해보면,
위와 같은 그림으로 도식화할 수 있다. 그러나 위의 그림은 인간이 알아보기 쉽게 나타낸 것이며, 실제 컴퓨터 메모리공간상에서는 일렬로 구성되어있다. 즉,
위의 그림과 같이 일렬로 늘어진 모양으로 저장된다. 지금 설명한 이 방식은 주로 C언어에서 사용되는 행우선(Row Major)방식을 설명한다.
그렇다면 이제 본론으로 들어가서, 열우선(Column Major)방식을 살펴보자. 위에서 설명한 방식이 행우선방식이라는 점에서 생각해보면, 열우선은 그 반대라는 것을 쉽게 도출해낼 수 있다. 행우선은 1행의 요소를 전부 나열한 뒤에 2행의 요소를 나열하고, 그다음 3행의 요소를 나열하는 방식이므로, 열우선은 1열의 요소를 전부 나열한 뒤에 2열의 요소를 나열하고, 그다음 3열의 요소를 나열하는 방식인 것이다.
참고 자료
없음