스택(Stack) 은 먼저 들어온 데이터가 나중에 나가는 자료구조이다.이를 선입후출 또는 LIFO(Last In First Out) 라고 한다.쉽게 생각하면 박스를 차곡차곡 쌓는 구조와 비슷하다.박스를 여러 개 쌓았다면 가장 위에 있는 박스부터 꺼내야 한다.스택의 기본
큐(Queue) 는 먼저 들어온 데이터가 먼저 나가는 자료구조이다.이를 선입선출 또는 FIFO(First In First Out) 라고 한다.가장 쉬운 예시는 줄서기이다.먼저 줄을 선 사람이 먼저 처리되는 것과 같은 구조이다.큐에서도 기본적으로 삽입과 삭제가 이루어진다
자료구조 — 해시(Hash) 개념 정리 1. 해시란? 해시(Hash) 는 데이터를 Key와 Value의 형태로 저장하고, Key를 이용해 데이터를 빠르게 찾는 자료구조이다. Python에서는 대표적으로 dict와 set이 해시를 기반으로 동작한다. 예를 들어 학
힙(Heap) 은 여러 데이터 중에서 가장 작은 값 또는 가장 큰 값을 빠르게 찾고 꺼내기 위한 자료구조이다.예를 들어 다음과 같은 숫자가 있다고 생각해보자.여기서 계속해서 가장 작은 값을 꺼내야 하는 상황이 있다면 힙을 사용할 수 있다.힙의 핵심은 다음과 같다.최솟값
트리(Tree) 는 데이터를 부모와 자식의 계층적인 관계로 표현하는 자료구조이다.가장 쉬운 예시는 폴더 구조이다.하나의 폴더 아래에 여러 폴더가 존재할 수 있고, 그 아래에 또 다른 폴더가 존재할 수 있다.트리도 이와 비슷하다.여기서 각각의 데이터를 노드(Node) 라
그래프(Graph) 는 여러 개의 데이터가 서로 연결되어 있는 관계를 표현하는 자료구조이다.예를 들어 친구 관계를 생각해보자.각 사람은 하나의 데이터이고, 친구 관계로 서로 연결되어 있다.그래프에서는 각각의 데이터를 정점(Vertex) 또는 노드(Node) 라고 한다.
Union-Find는 여러 원소가 같은 집합에 속해 있는지 확인하고, 서로 다른 집합을 합치는 자료구조이다.다른 이름으로는 서로소 집합(Disjoint Set) 이라고 한다.예를 들어처럼 여러 개의 집합이 있다고 하자.Union-Find는 크게 두 가지 연산을 사용한다