1. 배열
- 배열은 프로그래밍에서 가장 기본적인 자료구조 중 하나로, 동일한 타입의 데이터 여러 개를 연속된 메모리 공간에 저장하는 구조이다.
- 각 데이터는 고유한 번호(인덱스, index)를 가지며, 이 인덱스를 통해 해당 데이터에 직접 접근할 수 있다는 특징이 있다.
2. 특징
장점
- 빠른 접근 속도: 배열의 각 요소는 인덱스를 통해 직접 접근이 가능하므로, 데이터 조회 속도가 매우 빠르다. 특정 위치의 요소를 찾고자 할 때, 인덱스만 알면 상수 시간(O(1)) 안에 접근할 수 있다.
- 단순한 구조: 메모리 상에 연속적으로 데이터를 저장하므로 구조가 단순하고 이해하기 쉽고 반복문에서 활용하기 좋다.
단점
- 고정된 크기: 대부분의 프로그래밍 언어에서 배열은 생성 시 크기가 고정된다.
- 삽입 및 삭제의 비효율성: 배열의 중간에 데이터를 삽입하거나 삭제하는 경우, 해당 위치 이후의 모든 요소들을 이동시켜야 하므로 비효율적이다. 크기가 N인 배열에서 특정 위치에 요소를 삽입하거나 삭제하면 평균적으로 N/2개의 요소 이동이 필요하다 (O(n)).
'CS > 자료구조 & 알고리즘' 카테고리의 다른 글
[자료구조] 연결 리스트 Linked List (0) | 2025.04.24 |
---|---|
[자료구조] PHP로 원형큐 구현 (0) | 2025.03.31 |
[자료구조] 큐 Queue (0) | 2025.03.28 |
[자료구조] 스택 Stack (0) | 2025.03.23 |
[자료구조] 리스트 List (0) | 2025.03.23 |