배열은 데이터를 나열하고, 각 데이터를 인덱스(index)에 대응하도록 구성한 데이터 구조이다. 배열은 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료구조를 말한다. 즉, 배열의 요소 혹은 원소(element)는 하나의 데이터 타입으로 통일되어 있으며 서로 연속적으로 인접해 있다(dense array).
같은 종류의 데이터를 효율적으로 관리하기 위해 사용한다.
같은 종류의 데이터를 순차적으로 저장한다(index).
빠른 접근이 가능하다. 배열에서 각각의 원소들은 index
의 번호가 존재하기 때문에 찾고자 하는 원소의 index
값을 알고 있으면 해당 원소로 빠르게 접근할 수 있다(random access).
정해진 데이터의 크기를 갖는다. 예를 들어서 추가하려면 기존 공간에 연결을 시켜서 만들어야 한다. 최악의 경우에는 새로운 배열을 생성해야하는 단점이 있다. 즉, 데이터를 변경(추가 / 삭제)가 쉽지 않다.
C언어의 경우 배열의 최대 길이를 미리 지정해야 한다.
# python
data = [1, 2, 3, 4, 5]
// javascript
const array = [1, 2, 3];
# python
data = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
print(data[0]) # [1, 2, 3]
print(data[0][0]) # 1
// javascript
const array = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ];
console.log(array[0]); // [1, 2, 3]
console.log(array[0][0]); // 1
Github - JaeYeopHan/Interview_Question_for_Beginner
Poiemaweb - 배열