{Data Structure (자료 구조) 1. 선형리스트 - 배열(Array)}

2020. 5. 13. 05:45Data structure (자료구조)

  • 베열(array)이란?
  • 배열의 메모리 저장 방식
  • C기준 static array와 dynamic array 차이점
  • 배열 접근 방법
  • 마무리

배열(array)이란?

오늘은 선형 리스트인 배열에 대해 설명해 드리겠습니다.

배열은 같은 타입으로 이루어진 유사 집합입니다. 배열을 구성하는 각각의 값을 배열 요소(Element)라고 하며 배열의 위치를 가르키는 것을 인덱스(Index)라고 합니다. 같은 종류의 데이터 타입을 여러개를 관리하는 기본적인 자료구조입니다.

기본적으로 배열의 첫번째 위치를 가르키는 인덱스는 0부터 시작합니다.

 

배열은 선언되는 형식에 따라 1차원, 2차원, 다차원으로 부르게 됩니다.

 

 

배열의 메모리 저장 방식

배열의 메모리 저장 방식은 연속적으로 이루어집니다. 즉 주소값이 이어져 있습니다.

이런 형태로 이루어져 있습니다. 

 

C기준 static array와 dynamic array의 차이점

static array는 크기가 고정되는 배열입니다. 즉 크기가 변하지 않을때 사용하는 배열입니다.

동적할당 배열은 런타임때 크기를 정할 수 있으며 크기가 한번 정하면 바뀌지 않는 배열입니다.

dynamic array는 런타임때 크기가 고정되지 않고 바뀌는 배열을 의미합니다.

 

배열의 접근 방법

배열 요소에 접근하려면 인덱스 값이 필요합니다. 사용 방법은 변수[index]로 해당 요소로 접근이 가능합니다.

즉 배열 요소에 접근할 때 O(1)의 시간이 소모됩니다.

위와 같이 4는 인덱스를 의미하고 변수[4]는 해당 위치에 있는 요소에 접근합니다.

마무리

array는 같은 타입으로 이루어진 집합체이며 array의 배열 요소에 접근하려면 index를 통해 접근하게 됩니다.

접근할 때 걸리는 시간은 O(1)이며 크기가 고정되어 있는 static array와 고정되어 있지 않는 dynamic array로 구분되게 됩니다.

 

다음에는 dynamic array인 연결리스트에 대해 설명해드리겠습니다.