1. 배열의 정의
- 배열(Array)은 같은 자료형의 데이터를 일정한 크기로 연속적으로 저장하는 자료구조입니다.
- 각 데이터는 인덱스를 통해 접근할 수 있으며, 데이터는 메모리상에서 연속적으로 배치됩니다.
- 같은 종류의 데이터를 효율적으로 관리하기 위해 사용합니다.
2. 배열의 장단점
- 장점:
- 빠른 접근 가능
- 첫 데이터의 위치에서 상대적인 위치로 데이터 접근(인덱스 번호로 접근)
- 연속적인 메모리 배치
- 단순한 구조
- 구현이 쉽고, 대부분의 언어에서 기본 자료구조로 지원
- 단점:
- 데이터 추가/삭제의 어려움
- 메모리 낭비
- 선언한 크기보다 적은 데이터를 저장하면 사용되지 않는 공간이 발생
3. 1차원 배열과 다차원 배열
- 1차원 배열과 다차원 배열
- 1차원 배열: [1, 2, 3, 4]
- 2차원 배열: [[1, 2], [3, 4]]
배열의 시간 복잡도
작업 | 시간 복잡도 |
---|
인덱스 접근 | O(1) |
검색 | O(N) |
삽입/삭제 | O(N) |
배열을 사용하는 대표적인 알고리즘