배열이란 연속된 메모리 공간에 순차적으로 저장된 데이터 모음이다.
배열은 메모리 상에 데이터를 연속으로 배치한 자료구조이다.
배열을 구성하는 각각의 값을 요소(element)라고 한다.
배열에서의 위치를 가리키는 숫자는 인덱스(index)라고 한다.
하나의 요소에는 하나의 타입만 저장할 수 있다.
동일한 데이터 유형을 갖고있다.
배열의 시간복잡도를 보면 배열의 각 요소에 접근하는 시간은 o(1)로 모두 동일하다.
연속된 메모리에 단일 블록화하여 데이터를 저장한다.
매모리 상에서 순차적으로 저장되기 때문에 데이터 순서가 있고, index를 활용하여 indexing 및 slicing이 가능하다.
- 인덱스로 빠르게 접근이 가능하기 때문에 검색이 필요할 경우 용이하다.
- 공간 낭비가 적다 (기록밀도가 1이다)
- 간단하고 사용하기 쉽다.
- 배열을 선언한 후에는 메모리 크기를 변경할 수 없다.
- 중간에 특정 요소를 삽입 및 삭제하는 경우에는 요소들을 이동시켜야 하기 때문에 어렵다.
- 순차적으로 데이터를 저장할 경우
- 다차원 데이터를 다룰 경우
- 검색이 필요한 경우
- 삽입 및 삭제가 많이 없는 경우