본문 바로가기

Computer Science/Data Structure

[Data Structure] 배열

728x90
반응형
SMALL

배열이란? 

배열은 같은 타입의 변수들로 이루어진 유합집합으로 정의된다. 

배열을 구성하는 각각의 값을 요소라고 하며 위치는 인덱스라고 한다. 인덱스의 시작은 0이다. 

 

배열은 선언된 형식에 따라 1차원, 2차원, 다차원배열이 있다. 

 

배열의 특징

배열은 가장 많이 사용하는 자료구조 중 하나이며 다음과 같은 특징이 있다.

  • 순차적
  • 수정 가능
  • 삽입 순서 저장
  • 중복 요소 가능

 

순차적

배열에는 데이터가 순차적으로 저장된다. 따라서 순서가 있거나 서로 연결되어 있는 데이터의 경우 배열을 자주 사용한다.

삽입 순서 저장

배열은 삽입되는 순서대로 저장된다. 즉 가장 나중에 넣은 데이터는 가장 마지막 인덱스이다. 단 사용자에 따라 배열의 순서를 조정할 수 있다.

수정 가능

배열은 수정가능하다. 단 원하는 요소를 수정하기 위해서는 해당 요소의 인덱스를 알고 있어야 한다.

 

중복 요소 가능

각 요소간의 중복이 가능하다. 이와 반대로 각 요소의 중복이 안 되는 자료구조로는 set이 있다.

 

 

배열의 장단점

장점

배열의 가장 큰 특징은 index이며 index에 따른 순서가 존재한다. 따라서 특정 index를 조회하거나 순차적으로 조회할 때 효과적이다. 

 

단점

배열을 사용하기 위해서는 생성될 때 메모를 할당 받는다. 만약 배열의 크기가 부족하다면 메모리를 추가로 할당해줘야 한다. 반대로 너무 많은 메모를 할당시키면 낭비되는 메모리가 발생한다. 즉 적절한 크기의 메모리를 할당하는 것이 중요하다.

 

요소를 조회할 때 index를 모른다면 모든 요소를 조회하여 찾아야하며 그만큼 속도가 느려진다. 또한 요소 중간에 데이터를 삽입해야하는 경우 비효율적이다. 

 

728x90
반응형
SMALL

'Computer Science > Data Structure' 카테고리의 다른 글

[Data Structure] 이진탐색트리  (0) 2021.11.09
[Data Structure] 트리  (0) 2021.11.09
[Data Structure] 힙  (0) 2021.11.09
[Data Structure] 스택 & 큐  (0) 2021.11.09
[Data Structure] 연결 리스트  (0) 2021.11.09