Array
정의
연속된 메모리에 동일한 자료형의 데이터를 저장하는 선형 데이터 구조
특징
- 인덱스 기반
- index를 통한 random access 가능
- index는 고유한 값이며 대부분 0부터 시작한다.
- 고정된 크기
- 배열은 생성할 때 지정한 크기를 변경할 수 없다.
- 연속적인 메모리 할당
- 고정된 크기의 데이터를 메모리에 연속적으로 저장
장점
- 조회 속도가 빠르다
- index를 사용해 O(1)의 시간복잡도를 가진다.
- 메모리 효율
- 배열 생성 시 연속적인 메모리를 할당하기 때문에 효율적이다.
단점
- 삽입/삭제 속도가 느리다
- 삽입/삭제의 경우 데이터의 이동이 필요할 수 있다
- O(n)의 시간 복잡도를 가진다.
배열의 elememt 위치
배열은 연속적인 메모리를 할당하기 때문에 element의 위치를 쉽게 알 수 있다.
elememt의 위치 = base address + offset
base address = index 0인 element의 메모리 주소
offset = index * 데이터크기 (예시는 char 이므로 1byte)
참고자료
geeksforgeeks-what is array