자료구조란?
- 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미
- 메모리 공간을 효율적으로 사용할 때 필요한 것이 자료구조
- 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 함
자료구조 분류

- Primitive Data Structure (단순 구조)
- 프로그래밍에서 사용되는 기본적인 데이터 타입의 자료구조
- Non-Primitive Data Structure (비단순 구조)
- 여러 데이터를 목적에 맞게 효과적으로 저장하는 구조
- Linear Data Structure(선형 구조)
- 저장되는 자료의 전후 관계가 1:1 (ex. Array, List, Stacks, Queues)
- Non-Linear Data Structure(비선형 구조)
- 데이터 항목 사이의 관계가 1:n 또는 n:m (ex. Graphs, Trees)
배열 (Array)

- 기본적인 데이터 구조
- 생성 시 설정된 셀의 수가 고정이고, 각 셀에는 인덱스 번호가 부여됨
- 부여된 인덱스를 통해 데이터에 접근 가능
- 장점
- 원하는 데이터를 효율적으로 탐색/접근 가능
- 정렬 용이
- 단점
- 저장할 수 있는 메모리의 크기가 고정되어 있음
- 추가/삭제 비효율
- 구조 재구성 시 정렬 방식 비효율