[자료구조] 01. 자료구조의 기초
자료구조의 기본 개념, Array, Stack, Queue, Linked List, Hast Table, Graph, Tree
자료구조의 기초¶
자료구조(Data Structure)란 효율적인 검색(search) 및 검색(retrieve)을 위해 데이터가 저장되는 방식을 말한다.
컴퓨터 공학에서 자료 자체의 형태와 그 자료들에 대한 연산을 정의한 것을 추상적 자료형(Abstract Data Type)이라고 하는데, 이 추상적 자료형을 실질적으로 구현한 것을 자료구조라고 한다.
기본적인 자료구조¶
다양한 자료구조가 있지만, 그 중 대표적인 자료구조들은 다음과 같다.
- 배열(Array)
- 가장 기본적인 자료형으로, 자료를 원소로 취급해 나열한 자료구조
- 생성 시 원소들에게 부여되는 index를 통해 원소들에게 접근 가능
- 스택(Stack)
- 순서가 보존되는 선형 데이터 구조 유형
- LIFO(Last In First Out) 메커니즘에 따라 데이터를 처리
- 큐(Queue)
- 순서가 보존되는 선형 데이터 구조 유형
- FIFO(First In First Out) 메커니즘에 따라 데이터를 처리
- 연결 리스트(Linked List)
- 노드(node, 데이터 묶음)를 저장할 때 그 다음 순서의 자료가 있는 위치를 데이터에 포함시키는 방식으로 자료를 저장하는 자료구조
- 해시 테이블(Hash Table)
- 데이터를 Key - Value 쌍으로 묶어 저장하는 데이터 구조
- Key를 통해 데이터에 접근할 수 있기 때문에 접근 속도가 매우 빠름
- 그래프(Graph)
- 정점(vertex) 사이에 변(edge)이 있는 자료구조
- 일방통행을 나타내는 Directed graph와 양방향 통행을 나타내는 Undirected graph가 있음
- 트리(Tree)
- 그래프가 계층적 구조를 가진 형태의 자료구조
- 부모 노드와 자식 노드의 연결 구조로 구현