1. 자료구조
- 자료를 기억장치의 공간 내에 저장하는 방법과 자료 간의 관계, 처리 방법 등을 연구 분석하는 것
- 저장 공간의 효율성과 실행시간의 단축을 위해 사용
선형 구조
- 자료의 구조가 직선 형태로 순차적으로 나열되어 있는 구조
- 전후 데이터들간 1대1 관계
- 배열구조
- 선형 리스트
- 스택
- 큐
- 데크
비선형 구조
- 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 구조
- 전후 데이터들간 1:N 관계
- 트리
- 그래프
2. 배열(Array)
- 크기와 형이 동일한 자료들이 순서대로 나열된 자료의 집합
- 반복적인 데이터 처리 작업에 적합한 구조
- 정적인 자료 구조
- 기억장소 추가가 어려움
- 데이터 삭제 시 기억장소가 빈 공간으로 남아있어 메모리의 낭비가 발생

3. 선형 리스트(Linear List)
- 데이터를 논리적인 순서대로 연속하여 저장하는 방식
- 데이터의 논리적인 순서와 기억 장소에 저장되는 물리적 순서가 일치하는 구조
1. 연속 리스트(Contiguous list)
- 연속된 기억장소에 저장되는 자료 구조
- 중간에 데이터를 삽입하기 위해서는 연속된 빈 공간이 있어야 함
- 삽입 삭제 시 자료의 이동 필요
2. 연결 리스트(Linked List)
4. 스택(Stack)
- 리스트의 한쪽 끝으로만 자료를 삽입(FILO; First In Last Out)
- 저장할 기억 공간이 없는 상태에서 데이터가 삽입되면 오버플로가 발생
- 삭제할 데이터가 없는 상태에서 데이터 삭제시 언더프로가 발생
출처: https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%83%9D
5. 큐(Queue)
- 리스트의 한쪽에서는 삽입, 다른쪽에서는 삭제 작업이 이루어지는 자료구조(FIFO; First In First Out)
- 시작을 표시하는 프런트(Front) 포인터와 끝을 표시하는 리어(Rear) 포인터가 있음
출처:https://ko.wikipedia.org/wiki/%ED%81%90_(%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0)
6. 데크(Deque)
- 삽입과 삭제가 리스트의 양쪽 끝에서 모두 발생
- 큐와 스텍의 장점을 모두 갖고 있음
연습문제
1. 다음 보기중에 선형 구조를 모두 고르시오
a.큐 b.스택 c.트리 d.그래프 e.연속 리스트 f.데크
정답
a, b, e, f