C# 배열

김찬수·2023년 1월 23일
0

배열

룩업 테이블(Look-up Table)

배열은 캐싱 친화적이기 때문에 정말 중요합니다. 배열의 사용 예시 중에는 룩업 테이블(Look-up Table)이 있습니다.

룩업 테이블(Lookup Table)은 매번 값을 가져올 때, 값을 가져오는 데 오래 걸리는 과정을 생략하고 저장되어 있는 값을 참조하여 직접 연산을 하지 않고 바로 가져오기 때문에 빠르게 값을 가져오는 것입니다. 더 단순하게 표현하면 결과값을 가진 테이블이라고 할 수 있습니다.

룩업 테이블(LUT)은 많은 곳에서 참조해서 쓸 수 있기 때문에, 데이터가 차지하는 용량을 줄여주고, 성능향상, 데이터 집중화, 데이터 수정의 유연성과, 빠른 응답, 유지 보수가 용이함 등의 장점을 가지고 있습니다.

참고 자료
Look-up Table (위키피디아)

배열의 인덱스는 왜 0으로 시작하는지?

메모리를 사용하기 위해선 주소가 필요합니다. 마찬가지로 배열의 각 원소에 접근하기 위해서는 주소가 있어야 합니다. 원소는 메모리에 연속적으로 할당되어 있고, 각 원소의 데이터 크기를 알고 있기 때문에 배열의 시작 주소만 알고 있다면 각 원소의 주소를 계산할 수 있습니다.

다차원 배열과 가변 배열의 차이점

다차원 배열은 2차원, 3차원, …, n차원의 배열을 뜻합니다.

  • 1차원 배열은 일반적인 배열의 형태로 되어있습니다.
  • 2차원 배열은 타입[,] 배열이름 = new 타입[행의크기, 열의크기]; 의 형태로 되어있습니다.
  • 3차원 배열은 타입[, ,] 배열이름 = new 타입[높이, 행의크기, 열의크기]; 의 형태로 되어있습니다.

가변 배열은 각 원소가 배열 타입인 배열입니다.

  • 3 x 3 배열을 만들어 보았습니다.

  • 가변 배열의 특징 중 하나는 길이를 바꿀 수 있다는 것입니다.

  • 정확하게는 가변 배열은 배열의 크기를 변경할 수 있습니다.

  • 다차원 배열과는 다르게 가변 배열은 2차원 배열을 직사각형이 아닌 막대 그래프처럼 각 차원의 크기를 변형시킬 수 있습니다.

profile
프로그래머 지망생

0개의 댓글

관련 채용 정보